8

我在制作HTML元素click上的事件时遇到问题。option

即使是简单的console.log('hello!');也行不通。

我正在尝试这个:

$('#mySelect option').bind('click', function(){
  console.log('hi!');
});

它工作了一段时间,但后来停止了。

4

7 回答 7

18

在我的情况下,以下代码有效

$('#myItem').change(function(){
            //do somthing
})
于 2013-04-19T13:55:13.417 回答
3

.on()您可以通过提供<select>id来绑定使用。一般而言,change是调用的事件<select>

option因此,绑定事件时无需提及。

$(document).on('change','#mySelect', function(){<br>
    console.log('hi!');
});

或者

$('#mySelect').bind('change',function(){<br>
    console.log('hi!');
});
于 2012-09-05T05:57:35.530 回答
2

示例示例将显示如何在单击或更改选择时更改 OPTION 的下拉值和颜色

HTML:

<select name="options">
      <option value="1">Red</option>
      <option value="2" selected="1">Green</option>
      <option value="3">Blue</option>
</select>

jQuery:

$("select").on("click", function () {
    debugger;
    var sVal = $(this).val();
    $(this).css("background-color", "red");
    $(this).find("option").css("background", "white");
    $(this).find('option:selected').css("background-color", "red");
    $("input").val($(this).val());
});

演示

于 2014-05-16T14:39:08.803 回答
2

这解决了这个问题 - 满足我的需要(当我的页面上的某些选择元素被点击时捕获事件)。虽然尚未验证触摸行为,但 Firefox、Chrome 似乎没问题

$('.class_for_select').focus(function() {
    // do something here
});
于 2014-04-08T18:30:47.753 回答
1

检查这个 js 小提琴——

http://jsfiddle.net/4W826/

HTML

<select id="mySelect">
               <option value="volvo">Volvo</option>
               <option value="saab">Saab</option>
               <option value="mercedes">Mercedes</option>
               <option value="audi">Audi</option>
       </select>  

查询

$('#mySelect').bind('click', function(){
alert('hi!');
});

从 更改ClickChange

于 2012-09-05T05:53:56.247 回答
0

我建议您使用 .on() 而不是 .bind()。

$('#mySelect').on('change', function(){
  var $this = $(this),
      $value = $this.val();

  alert($value);

});

jsFiddle

于 2012-09-05T06:15:45.387 回答
0

因为改变对我来说不够好而且我没有找到触发选项的方法点击我所做的是

 $('#mySelect').click(function () {
        if ($(this).attr('optionclick') == '1') {
             $(this).attr('optionclick', '0');
        }
        else {
             $(this).attr('optionclick', '1');
        }
  });
于 2013-12-03T16:18:43.193 回答