我正在使用THIS插件来实现combobox
。另外我需要获取选择列表的值,所以我添加了以下代码:
$(document).ready(function(){
$('.combobox').combobox({
select: function (event, ui) {
alert("the select event has fired!");
}
});
});
stackoverflow solution。但在我的情况下,没有显示警报!如何获取所选的选项值?
答案 0 :(得分:3)
检查插件homepage,我没有找到任何名为select的选项。
您可以在创建的文本字段中添加更改事件,然后选择值。
$("input[type='text'].combobox").on("change", function () {
alert($(this).val());
});
演示fiddle
答案 1 :(得分:0)
那行得通,但是会给您文本而不是值,如果您激活了clearIfNoMatch选项,也不会给您想要的内容。
您可以尝试以下方法:
$("div.combobox-container input[type=hidden]").on("change", function () {
console.log($(this).val());
});
答案 2 :(得分:0)
我遇到了同样的问题,并设法通过侦听select元素而非输入元素上的change事件来解决它。
问题是该插件将插入隐藏的输入,并为其指定一个最初设置为select元素的名称。
在侦听隐藏输入上的更改事件时遇到了问题,但对于select来说却是一样的。
因此,代替$("input[name='OriginalSelectName']").on('change', ...)
可以使父容器易于引用并附加到选择$("div[name='SelectDiv'] select").on('change', ...)
<div name="SelectDiv">
<div class="combobox-container">
<input type="hidden" name="OriginalSelectName" value="">
...
</div>
<select class="combobox form-control" style="display: none;">
<option value="" selected="selected">Nothing</option>
<option value="e4d4a3bc-e2f7-4494-9ba6-192cff81b10d">Product A</option>
<option value="d20e202a-041f-4788-9313-3a649f9bb313">Product B</option>
</select>
</div>