我想在autocomplete
函数中获取所选项的行ID,我从php
变量中获取源代码的值。
<script>
$(function() {
var availableTags = [ <? php echo($toto); ?> ];
$("#foo").autocomplete({
source: availableTags
});
});
</script>
我已经尝试过这个功能,但它似乎不起作用。事实上,当我将其添加到我的脚本时,我的autocomplete
将不再有效。
<script>
$(function () {
var availableTags = [ <? php echo($ListeNomsFormateeFinale); ?> ];
$("#nomClient").autocomplete({
source: availableTags
select: function (event, ui) {
$("#textfield1").val(ui.item.label); // display the selected text
$("#textfield2").val(ui.item.value); // display selected id
return false;
}
});
});
</script>
我在这里做错了什么?有没有快速解决这个问题?
修改
我需要在source: availableTags
之后添加逗号,我还删除了return false
。但是它不会返回所选行的id,它实际上在两个文本域textfield1
和textfield2
中写入相同的值
答案 0 :(得分:2)
来自:Api Jquery UI - Autocomplete - option source
数组:数组可用于本地数据。有两种支持的格式:
一系列字符串:[&#34; Choice1&#34;,&#34; Choice2&#34; ]
- 醇>
具有标签和值属性的对象数组:[{label:&#34; Choice1&#34;,value:&#34; value1&#34; },...] label属性显示在建议菜单中。当用户选择项目时,该值将插入到input元素中。如果仅指定了一个属性,则它将用于两者,例如,如果仅提供值属性,则该值也将用作标签。
第二点(2.)给出了存储&#34; id&#34;所选对象的(或其他)。例如:
var yourSource = [ { label: "Choice1", id: "id1" } ];
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
<link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css" rel="stylesheet" />
<form>
<input type="text" id="fooInput" />
</form>
<div id="result">
</div>
<script type="text/javascript">
var yourSource = [
{
label: "A",
id: "id1"
},
{
label: "B",
id: "id2"
}];
$("#fooInput").autocomplete({
source: yourSource,
select: function(event, ui) {
var e = ui.item;
var result = "<p>label : " + e.label + " - id : " + e.id + "</p>";
$("#result").append(result);
}
});
</script>
&#13;
因此,请尝试格式化您的数据源,如下所示:
var source = [ {label:"Foo", id:"1"}, ... ];