jQuery组合框:用于捕获组合框的选定值的标准脚本不起作用

时间:2011-06-15 03:14:51

标签: jquery-ui

我在http://jqueryui.com/demos/autocomplete/combobox.html

使用了jqueryui组合框示例

我添加了下面看到的脚本以捕获组合框的选定值:

<div id="selectedOpt">
</div>
<script>
$(document).ready(function() {
    $("#combobox").change(function() {
        var retval = $(this).val();
        $("#selectedOpt").html("retval=" + retval);
    });
});
</script>

但是,它没有按预期工作:

  
      
  1. div selectedOpt每次都不显示组合框的选定值   发生变更事件
  2.   
  3. 如果&#34;显示潜在影响&#34;被选中(请尝试url above),标准下拉列表   出现。当试图改变价值时   那个下拉列表,然后是div   selectedOpt能够显示价值   正确。
  4.   

目标是让div selectedOpt显示组合框的选定选项。 请告知并解释为什么(1)在(2)工作时不起作用。

PS:正确包含所有必要的js,css。 谢谢你的关注。

解决方案: http://robertmarkbramprogrammer.blogspot.com/2010/09/event-handling-with-jquery-autocomplete.html

2 个答案:

答案 0 :(得分:1)

请更改您的脚本以符合以下代码:

<script>
function test()
{ 
var retval = $("[id *=dropdown] :selected").val();
$("#selectedOpt").html("retval=" + retval);
}
</script>

从服务器端调用此脚本,如下所示:

dropdown.Attributes.Add("onchange","javascript: return test();")

答案 1 :(得分:0)

要在div中显示组合框的标签或值,您必须包含您的功能作为选项。像这样:

$( ".selector" ).autocomplete({
 change: function(event, ui) {
  $("#selectedOpt").html("retval=" + ui.item.value);
 }
});

如果您想要标签,请使用ui.item.label。