Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery";:精选;滤波器_Javascript_Jquery - Fatal编程技术网

Javascript jQuery";:精选;滤波器

Javascript jQuery";:精选;滤波器,javascript,jquery,Javascript,Jquery,当尝试在动态添加的select上获取select选项的值时,单击按钮时,我始终未定义 $(document).on('click', '#ChangeResp', (function(){ var test = $(document).find('#responsiblelist'); var test2 = $(test).filter(":selected").val(); console.log(test2); })); 如果执行console.log(test)操作,我会看到选择了正确

当尝试在动态添加的select上获取select选项的值时,单击按钮时,我始终未定义

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

责任人姓名
$(文档)。在('单击','更改响应',(函数()上){ var username=$(document.find(“#responsiblelist”).children(“option”).filter(“:selected”).val(); console.log(用户名); }));
我总是未定义的原因是因为我总是得到第一个没有价值的选项(这是select2用法的要求),否则我会从已经选择的一个选项开始选择。

试试这个

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

查看列表的子项,然后使用
过滤器
获取所选
选项的值

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

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

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

#responsiblelist
大概是
,但是
:selected
适用于
的。为什么不直接使用
test.val()
?你能不能添加一个小摆弄,你的整个代码都不起作用。给了我一个不明确的答案。属性值是在
上设置的。我已经尝试通过多种方式获取属性值,即使是通过属性“value”也没有。请发布一些HTMLY您甚至不需要选择所选选项,是吗?请记住
\responsiblelist
是动态添加的。@rgomez这不重要我必须尝试您的第一个答案。谢谢,它成功了。我刚刚发现它总是返回第一个选项的值,而不是取消选择的值。我正在页面上使用select2。请记住,
#responsiblelist
是动态添加的。jQuery不知道
#responsiblelist
,因为它在加载jQuery时不在那里。这是不相关的,它必须在单击时出现。