jQuery":已选中"过滤

时间:2016-12-21 19:50:07

标签: javascript jquery

当单击按钮时,在动态添加的选择中尝试获取所选选项的值时,我总是未定义。

$(document).on('click', '#ChangeResp', (function(){
var test = $(document).find('#responsiblelist');
var test2 = $(test).filter(":selected").val();
console.log(test2);
}));

如果我console.log(test)我看到正在挑选正确的元素。

编辑#1 我正在使用select2

这是HTML代码。

<div class="form-group is-empty">
    <label class="control-label" for="responsiblelist"><strong>Responsible Name</strong></label></br >
    <select id="responsiblelist" title="Select Responsible" class="select2_single form-control" tabindex="-1">
        <option></option>
        <option value="1"></option>
        <option value="2"></option>
        <option value="3"></option>
    </select>
</div>

<script type="text/javascript">

$(document).on('click', '#ChangeResp', (function(){
    var username = $(document).find('#responsiblelist').children("option").filter(":selected").val();
    console.log(username);
}));

</script>

我之所以总是未定义的原因是因为我总是得到第一个没有价值的选项(这是select2用法的要求),否则我会选择一个已经选择的选项。< / p>

3 个答案:

答案 0 :(得分:0)

试试这个,

$('select[name=responsiblelist]').val()

答案 1 :(得分:0)

浏览列表中的子项,然后使用filter获取所选option

的值
$(document).on('click', '#ChangeResp', (function(){      
    var test = $("#responsiblelist").children("option").filter(":selected").val​();
    console.log(test);
}));

答案 2 :(得分:0)

如果您需要获取所选选项的值,则可以更加简单:

$(document).on('click', '#ChangeResp', (function(){
  var test = $('#responsiblelist').val();
  console.log(test);
}));