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

时间:2015-04-20 10:57:06

标签: jquery html jquery-chosen

多选Chosen JQuery插件

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

我想要选择的价值。但这个警报没有显示出来。

<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> 

4 个答案:

答案 0 :(得分:2)

你的javascript错了。你有一些错位的花括号。尝试使用以下内容:

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

此处的完整脚本:https://jsfiddle.net/jrh11mm4/4/

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

如果您使用的是Chosen插件,则select元素将替换为div,因此您的jQuery检查不起作用。尝试研究选择并了解如何获得所选值。

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

答案 3 :(得分:0)

试试这个:

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