jquery选择选项单击处理程序

joh*_*ohn 52 html javascript jquery

给定:

<select id="mySelect">
  <option>..</option>
  ...
</select>
Run Code Online (Sandbox Code Playgroud)

使用select id,如何在其中一个选项上触发click事件?我尝试将事件直接附加到select,但只要单击select就会触发事件(即使没有选项).哦,这是一个多选(虽然我不认为这件事).

Mat*_*att 67

您需要"更改"事件处理程序,而不是"单击".

$('#mySelect').change(function(){ 
    var value = $(this).val();
});
Run Code Online (Sandbox Code Playgroud)

  • 如果他们选择相同的选项怎么办?更改事件未触发 (26认同)
  • 请注意`click'事件不会*目前*在Chrome中生成`<option>`元素. (13认同)
  • 这不是他所要求的,也不是他“想要”的。他要求一个在单击其中一个选项时触发的事件。您的答案是一种解决方法,单击默认或相同选项时不会触发 (2认同)

小智 32

$('#mySelect').on('change', function() {
  var value = $(this).val();
  alert(value);
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<select id="mySelect">
  <option value='1'>1</option>
  <option value='2'>2</option>
  <option value='3'>3</option>
  <option value='4'>4</option>
  <option value='5'>5</option>
  <option value='6'>6</option>
  <option value='7'>7</option>
  <option value='8'>8</option>
</select>
Run Code Online (Sandbox Code Playgroud)



tbr*_*y22 5

你可以附加一个焦点事件来选择

$('#select_id').focus(function() {
    console.log('Handler for .focus() called.');
});
Run Code Online (Sandbox Code Playgroud)