我在制作HTML元素click
上的事件时遇到问题。option
即使是简单的console.log('hello!');
也行不通。
我正在尝试这个:
$('#mySelect option').bind('click', function(){
console.log('hi!');
});
它工作了一段时间,但后来停止了。
我在制作HTML元素click
上的事件时遇到问题。option
即使是简单的console.log('hello!');
也行不通。
我正在尝试这个:
$('#mySelect option').bind('click', function(){
console.log('hi!');
});
它工作了一段时间,但后来停止了。
在我的情况下,以下代码有效
$('#myItem').change(function(){
//do somthing
})
.on()
您可以通过提供<select>
id来绑定使用。一般而言,change
是调用的事件<select>
。
option
因此,绑定事件时无需提及。
$(document).on('change','#mySelect', function(){<br>
console.log('hi!');
});
或者
$('#mySelect').bind('change',function(){<br>
console.log('hi!');
});
示例示例将显示如何在单击或更改选择时更改 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());
});
这解决了这个问题 - 满足我的需要(当我的页面上的某些选择元素被点击时捕获事件)。虽然尚未验证触摸行为,但 Firefox、Chrome 似乎没问题
$('.class_for_select').focus(function() {
// do something here
});
检查这个 js 小提琴——
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!');
});
从 更改Click
为Change
我建议您使用 .on() 而不是 .bind()。
$('#mySelect').on('change', function(){
var $this = $(this),
$value = $this.val();
alert($value);
});
因为改变对我来说不够好而且我没有找到触发选项的方法点击我所做的是
$('#mySelect').click(function () {
if ($(this).attr('optionclick') == '1') {
$(this).attr('optionclick', '0');
}
else {
$(this).attr('optionclick', '1');
}
});