选择 JQuery 插件在更改期间获取下拉值

Chosen JQuery Plugin get dropdown value during change

多select选择JQuery插件

<script>
$(document).ready(function()
{
  $('select#cat').change(function()
  {
     alert($(this).val());
  });
});
</script>

我想要 selected 值。但是这个提示没有显示。

<select id="cat" name="cat" class="chosen-select ref-sel1" multiple>
 <option value="1">cat1</option> 
 <option value="2">cat2</option>
 <option value="3">cat3</option>                    
</select> 

你的javascript错了。你有一些放错地方的花括号。试试下面的:

 $(document).ready(function()
{
  $('select#cat').change(function()
  {
     alert($(this).val());
  })
});

完整脚本在这里:https://jsfiddle.net/jrh11mm4/4/

根据 jQuery documentation 中的示例,以下代码应该有效:

<script>
 $(document).ready(function()
 {
   $( "select" )
   .change(function () {
     var str = "";
     $( "select option:selected" ).each(function() {
       str += $( this ).text() + " ";
     });
     alert(str);
   });
 });
</script>

请注意,您必须遍历所有选中的项目,以查看它们是否被选中。 我不确定为什么你的警报没有显示,但如果它会显示它应该是空的。

如果您使用的是 Chosen 插件,select 元素会被 div 替换,因此您的 jQuery 检查不起作用。尝试研究 Chosen 并查看如何获得 selected 值。

我想 CHosenJS 已经有这个功能,对于多个 select 框,它将选项转换为可移动标签。

试试这个:

 $(function() {
    $('#cat').change(function(e) {
        var selected = $(e.target).val();
        alert(selected);
   }); 
});