Javascript jQuery autocomplete,字段autocomplete的pass data属性位于
我有一个包含多个自动完成字段的页面。我需要传递自动完成附加到的每个字段的一些附加数据(例如“数据字段id=”X”) 自动完成用“自动完成”类初始化。这些自动完成字段是动态生成的 当前我的代码如下所示:Javascript jQuery autocomplete,字段autocomplete的pass data属性位于,javascript,jquery,jquery-ui,autocomplete,Javascript,Jquery,Jquery Ui,Autocomplete,我有一个包含多个自动完成字段的页面。我需要传递自动完成附加到的每个字段的一些附加数据(例如“数据字段id=”X”) 自动完成用“自动完成”类初始化。这些自动完成字段是动态生成的 当前我的代码如下所示: var autocompleteFields = $(".dynamic-fields.autocomplete"); // autocomplete data getter for necessary fields if (autocompleteFields.length > 0) {
var autocompleteFields = $(".dynamic-fields.autocomplete");
// autocomplete data getter for necessary fields
if (autocompleteFields.length > 0) {
autocompleteFields.autocomplete({
source: function (request, response) {
request.module = 'shared';
request.page = 'get_autofill_data.php';
$.ajax({
url: "ajax.php",
data: request,
dataType: "json",
type: "POST",
success: function (data) {
response(data);
}
});
},
select: function (event, ui) {
$(this).val(ui.item.value);
}
});
}
我需要在当前使用的字段的request.x中传递例如“data field id”-属性。这可能是某种方式吗?我在文档中找不到一种明确的方法来实现这一点。试试这个。它会起作用
var autocompleteFields = $(".dynamic-fields.autocomplete");
if (autocompleteFields.length > 0) {
autocompleteFields.autocomplete({
source: function (request, response) {
request.module = 'shared';
request.page = 'get_autofill_data.php';
request.x = $(this)[0].element.attr('data-field-id')
$.ajax({
url: "ajax.php",
data: request,
dataType: "json",
type: "POST",
success: function (data) {
response(data);
}
});
},
select: function (event, ui) {
$(this).val(ui.item.value);
}
});
}
试试这个,会有用的
var autocompleteFields = $(".dynamic-fields.autocomplete");
if (autocompleteFields.length > 0) {
autocompleteFields.autocomplete({
source: function (request, response) {
request.module = 'shared';
request.page = 'get_autofill_data.php';
request.x = $(this)[0].element.attr('data-field-id')
$.ajax({
url: "ajax.php",
data: request,
dataType: "json",
type: "POST",
success: function (data) {
response(data);
}
});
},
select: function (event, ui) {
$(this).val(ui.item.value);
}
});
}
您是否正确获取了autocompleteFields中的DOM对象?如果获取的值正确,则var dataFieldId=autocompleteFields.attr('data-field-id'));request.x=dataFieldId;希望这能起作用。当有一个自动完成实例时,这似乎能起作用,但有两个实例时,两个实例都会获得相同的数据字段id,尽管它在html中不同。如果不止一个,则自动完成字段是一个数组。然后需要迭代。是否获得DOM对象在autocompleteFields中是否正确?如果获得正确的值,则var dataFieldId=autocompleteFields.attr('data-field-id'));request.x=dataFieldId;希望这能起作用。当有一个自动完成实例时,这似乎能起作用,但对于两个实例,它们都会获得相同的数据字段id,尽管在html中有所不同。如果不止一个,则自动完成字段是一个数组。然后您需要迭代。这似乎很有效!非常感谢:)我尝试访问$(此)较早,但其中没有键[0]。这似乎工作正常!非常感谢:)我较早时尝试访问$(此),但其中没有键[0]。