我使用 jquery、自动完成和动态创建的输入节点。
我的第一个输入有连接:
var autocomp_art_opt = {
source: "ajax_find_art.php",
minLength: 2,
select: function(event, ui) {
$.ajax({
type: "GET",
url: "ajax_find_price.php",
data: "art="+ui.item.value,
cache: false,
success: function(data){
$("#price1").val(data);
}
});
}
};
$("#art1").autocomplete(autocomp_art_opt);
我有一个脚本,用于添加两个输入字段(#art{number} 和 #price{number})并连接新的自动完成功能:
$("#art2").autocomplete(autocomp_art_opt);
$("#art3").autocomplete(autocomp_art_opt);
...等
但如果不创建新变量 autocomp_art_opt{number},我就无法在 autocomp_art_opt 中更改 #price1...
如何知道函数中的对象ID(#art{number}):
success: function(data){
$("#price1").val(data);
}
当函数调用#art5等时如何将#price1更改为#price5...
最佳答案
创建一些函数来包装您的对象并进行调用,然后您可以简单地使用艺术品/价格的数量调用初始化程序。
通话
initializeAutocomplete(1);//$("#art1") and $("#price1")
initializeAutocomplete(5);//$("#art5") and $("#price5")
设置
function autocomp_art_opt(number){
return {
source: "ajax_find_art.php",
minLength: 2,
select: function(event, ui) {
$.ajax({
type: "GET",
url: "ajax_find_price.php",
data: "art="+ui.item.value,
cache: false,
success: function(data){
$("#price"+number).val(data);
}
});
}
};
}
function initializeAutocomplete(num){
$("#art"+num).autocomplete(autocomp_art_opt(num));
}
关于javascript - javascript中如何从函数中知道对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25044667/