即使为选择字段选择相同的值,也会触发change()

时间:2015-08-11 06:17:42

标签: javascript jquery

我有这样的选择

eval-buffer

我使用jquery函数提交表单

<select name="hall" id="hall">
  <option>1</option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
  <option>5</option>
</select>

但是当再次选择相同的值时,我希望它被触发。 我怎么能这样做?

4 个答案:

答案 0 :(得分:3)

试试这个:

drawCircle()

答案 1 :(得分:2)

点击

进行操作
$('#hall').on('click',function(){
 if(this.selectedIndex == -1) {
  alert('select one answer');
  }
  else
// do whatever you want!
  });

答案 2 :(得分:2)

<强> DEMO

您可以执行以下操作:

$("#hall option").on('click',function(){
    $("#hall").trigger('change');
});
$("#hall").on('change',function(){
   alert('changed'); 
});

注意:根据评论here,这适用于FF,但不适用于Chrome。您可以自担风险使用

答案 3 :(得分:0)

@Vibhesh Kaul解决方案在Windows上为我工作,但不适用于我的Mac客户端。

这是我的解决方案:

var previous_value = '';
$(document).on('click', 'select#hall', function () {
  // click on select
  if(previous_value == '') {
    previous_value = $(this).val();
  }
  // click on option, check if same value is chosen
  else if($(this).val() == previous_value) {
    // trigger a change
    $(this).trigger('change');
  }
});

$(document).on('blur', 'select#hall', function () {
  // reset the previous value of the select
  previous_value = '';
});

$(document).on('change', 'select#hall', function () {
  alert('test example');
});