我需要获取select标签中所有选定选项的数据,为此我使用了onclick()函数,它只提供了单击选项的数据.但是如果用户选择CTRL*A的所有选项,则不会收到任何数据.我试过使用在这种情况下不起作用的select().
//jQuery onclick()
$('select[name=sensors]').on('click', function(){
$('#demo').text($('select[name=sensors]').val());
});
//jQuery select()
$('select[name=sensors]').select(function(){
$('#demo2').text($('select[name=sensors]').val());
});Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select type='list' name='sensors' multiple>
<option value= "e11">e11</option>
<option value= "e12">e12</option>
<option value= "e13">e13</option>
<option value= "e14">e14</option>
</select>
<!--jQuery onclick()-->
<div id="demo"></div>
<!--jQuery select()-->
<div id="demo2"></div>Run Code Online (Sandbox Code Playgroud)
不要绑定click,而是绑定change.这样,即使是来自其他类型的交互的更改也会被考虑在内:
$('select[name=sensors]').on('change', function(){
$('#demo').text($('select[name=sensors]').val());
});Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select type='list' name='sensors' multiple>
<option value= "e11">e11</option>
<option value= "e12">e12</option>
<option value= "e13">e13</option>
<option value= "e14">e14</option>
</select>
<div id="demo"></div>Run Code Online (Sandbox Code Playgroud)
至于你的实验select,这里是文档说的:
当用户在其中进行文本选择时,select事件将发送到元素.此事件仅限于字段和框.
这里根本不相关,因为用户没有选择文本而是选项.