Jquery 选择选项上的绑定单击事件
使HTML选项元素上的单击事件正常工作时遇到问题 即使是一个简单的控制台。记录“你好!”;不行 我正在尝试这样做:Jquery 选择选项上的绑定单击事件,jquery,Jquery,使HTML选项元素上的单击事件正常工作时遇到问题 即使是一个简单的控制台。记录“你好!”;不行 我正在尝试这样做: $('#mySelect option').bind('click', function(){ console.log('hi!'); }); 它工作了一段时间,但后来停止了。检查这把js小提琴- HTML 从单击更改为更改您可以通过提供id使用.on绑定。通常,更改是调用的事件 所以,绑定事件时不需要提及选项 $(document).on('change','#mySele
$('#mySelect option').bind('click', function(){
console.log('hi!');
});
它工作了一段时间,但后来停止了。检查这把js小提琴-
HTML
从单击更改为更改您可以通过提供id使用.on绑定。通常,更改是调用的事件
所以,绑定事件时不需要提及选项
$(document).on('change','#mySelect', function(){<br>
console.log('hi!');
});
或
我建议您使用.on而不是.bind
$('#mySelect').on('change', function(){
var $this = $(this),
$value = $this.val();
alert($value);
});
在我的例子中,以下代码是有效的
$('#myItem').change(function(){
//do somthing
})
因为改变对我来说不够好,我没有找到一种方法来触发选项点击我所做的是
$('#mySelect').click(function () {
if ($(this).attr('optionclick') == '1') {
$(this).attr('optionclick', '0');
}
else {
$(this).attr('optionclick', '1');
}
});
这就解决了这个问题,因为我需要在单击页面上的某些select元素时捕捉事件。虽然还没有验证触摸行为,但Firefox、Chrome似乎还可以
$('.class_for_select').focus(function() {
// do something here
});
示例将显示如何更改单击或更改选择时选项的下拉值和颜色 HTML:
你最近有什么变化?您使用的jQuery版本是什么?它是如何加载的?在页面或include脚本中,您在哪里调用与加载元素相关的函数?元素是动态生成的还是静态生成的?我认为最后的更改无关紧要,因为即使我将git签出到最后一个工作版本,它也不会工作…jQuery版本是最新的,并且在页脚中以友好方式加载…option元素是从onloadwell的php脚本生成的,如果jQuery加载到页脚中,这是在哪里加载的?这将不允许用户更改值,每当我单击“选择”框时,它会显示弹出窗口。
$('#myItem').change(function(){
//do somthing
})
$('#mySelect').click(function () {
if ($(this).attr('optionclick') == '1') {
$(this).attr('optionclick', '0');
}
else {
$(this).attr('optionclick', '1');
}
});
$('.class_for_select').focus(function() {
// do something here
});
<select name="options">
<option value="1">Red</option>
<option value="2" selected="1">Green</option>
<option value="3">Blue</option>
</select>
$("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());
});