我有一个使用键和值的JQuery建议框。键是保存的值,例如userId,值是显示的值,例如用户名。
当有空白字段时,效果很好。我键入几个字符,选择一个名称,并将该值添加为随HTTP请求发布的值。现在,我应该如何预先填写表单的建议,以及它何时具有值。将保存的userId作为值放置时,suggest会显示userId,但显然我想显示用户名。我还尝试回显选择的用户名,但如果用户名未更改,则发布的值将是用户名。
<script>
<!--
$(document).ready(function() {
$("#creatorUserId").autocomplete("Gateway.php?action=UserAction&subAction=suggest",{
parse: function(data) {
var parsed = [];
data = data.data;
for (var i = 0; i < data.length; i++) {
parsed[parsed.length] = {
data: data[i],
value: data[i].key,
result: data[i].value
};
}
return parsed;
},
formatItem:function(item, index, total, query){
return item.value;
},
formatResult:function(item){
return item.id;
},
dataType: 'json'
});
});
-->
</script>
<input type="text" name="creatorUserId" id="creatorUserId" value="3" size="40" />
我怎么解决这个问题?
答案 0 :(得分:0)
单击时删除文本框的当前值(当且仅当文本框尚未编辑时)。
当输入失去焦点时,如果输入未被编辑,则返回初始值。
答案 1 :(得分:0)
试试这个
<script>
<!--
$(document).ready(function() {
$("#creatorUserId").autocomplete("Gateway.php?action=UserAction&subAction=suggest",{
parse: function(data) {
var parsed = [];
data = data.data;
for (var i = 0; i < data.length; i++) {
parsed[parsed.length] = {
data: data[i],
key: data[i].key,
value: data[i].value
};
}
return parsed;
},
formatItem:function(item, index, total, query){
return item.value;
},
formatResult:function(item){
return item.id;
},
dataType: 'json'
});
});
-->
</script>