【发布时间】:2020-06-30 22:06:04
【问题描述】:
使用jQuery's autotomplete widget,如果没有条件匹配,我想添加一项。该项目添加得很好,但我面临的问题是我无法将该项目的值设置为null。我得到的是该项目的value,其文本与label 相同
示例代码:
source: function(request, response)
{
//suggestions prefilled via AJAX...
var items = [];
if(suggestions.length)
{
for(var i in suggestions)
{
var item = suggestions[i];
item.value = suggestions[i].id;
item.label = suggestions[i].text;
items.push(item);
}
}
else
{
var item = {
value : null,
label : "some text..."
};
items.push(item);
}
response(items);
}
当我控制所选项目时,这就是我得到的:
select: function(event, ui)
{
console.log(ui.item.value);
//if item's value was set to null, then label
//if item's value was set to 0, then label
//if item's value was set to "", then label
//if item's value was set to 123, then 123
}
编辑:显然这在历史上的某个时刻奏效了......
在这个带有最新 jquery 和 jquery ui 的 fiddle 中,问题存在,但在带有 jquery 1.10.4 的 this one 中是最后一个按我想要的方式工作的 jquery ui。
【问题讨论】:
-
为什么不使用
""而不是null?
标签: jquery jquery-ui jquery-ui-autocomplete