将json从php发送到autocomplete,并在输入中添加数据属性
send json from php to autocomplete and add data attribute in input
[{
"sysid": "39",
"name": "John",
"code": "060400000"
}]
$(document).on("input", ".autocomplete", function(event) {
var name = $(this).prop('id').split('_').pop();
$(".autocomplete").autocomplete({
source: function(request, response) {
$.ajax({
type: 'POST',
url: 'autocomplete.php',
dataType: "json",
data: {
keypressed: request.term,
name: name
},
success: function(data) {
//response(data);
response($.map(data, function(item) {
return {
name: item.name,
code: item.code,
sysid: item.sysid
};
}));
}
});
},
minLength: 2
});
})
这是我的样本数据
[{
"sysid": "39",
"name": "John",
"code": "060400000"
}]
在我的自动完成中,如果我成功地使用response(data);
,在php页面中使用$name[] = ucwords(strtolower($selected_row[$columnename]));
,这一切都很好,但我想为我的输入文本添加额外的信息,如代码和sysid。。所以我做了
php中的$name[] = array('sysid' => $selected_row['sys_id'],'name' => ucwords(strtolower($selected_row[$columnename])),'code' => $selected_row[$columnecode]);
及其在中的成功
response($.map(data, function(item) {
return {
name: item.name,
code: item.code,
sysid: item.sysid
};
}));
我想要实现的是在完成自动完成后在输入中添加data-code
和data-id
。
这可能吗?任何想法
UPDATE
下面使用了这个,但改变的是下拉值,我想要的是像一样改变的输入
<input data-id="39" data-code="060400000">
response($.map(data, function(item) {
return {
title: item.name,
value: item.name
};
}));
使用渲染项函数
$(".autocomplete").data("ui-autocomplete")._renderItem = function(ul, item) {
return '<li data-code="'+item.code+'" data-id="'+item.sysid+'">'+item.name+'</li>'
}
有关更多信息,请访问
相关文章:
- 序列化数据属性中对象的最可靠方法
- jQuery最近父级的数据属性选择器
- React Native通过Navigator将用户输入数据传递到选项卡栏IOS中的组件
- delete在Object上效率低下,但在DOM Element's的数据属性,与null out相比
- 如何读取表单中的输入数据
- 从MySQL数据库中获取输入数据需要两次页面刷新
- 数据属性仅在切换设备模式下工作
- 如何将按钮的数据属性设置为输入[type=text]中设置的任何值
- j查询如何将值从输入字段设置为其他元素数据属性
- JQuery - 使用不同输入的多个筛选器过滤数据属性
- 使用Jquery遍历DOM以查找输入并根据数据属性修改值
- 正在尝试将数据属性值添加到其他页面上的输入中
- 将html数据属性添加到simple_forms输入中
- 将复选框数据属性与输入值相乘
- 使用jquery根据来自API的输入数据动态更改Twitter按钮的data-text属性的值
- 从图像中获取数据属性到单击输入框中
- 将json从php发送到autocomplete,并在输入中添加数据属性
- 更新输入字段时更改HTML5数据属性
- 正在从数据属性获取输入值
- 该属性将阻止用户更改输入数据,但允许jQuery进行修改