我有一个简单的选择列表,当我点击其中一个选项时,会在消息中显示所选的选项。一切都在IE和FF中按预期工作,但在Chrome中没有。这是我的HTML:
<select id="selectlist" class="select_list" size="10" title="Choose an item to load">
<option value="1">Item 1</option>
<option value="2">Item 2</option>
<option value="3">Item 3</option>
<option value="4">Item 4</option>
<option value="5">Item 5</option>
</select>
这是我的jQuery:
$(function(){
$("#selectlist").click(function(event){
alert("Click event on Select has occurred!");
$("option:selected", $(this)).each(function(){
...more code here...
});
});
});
在IE和FF中,只要单击某个选项但不在Chrome中,就会显示警告。我使用.change
而不是.click
得到了完全相同的结果。
任何帮助都会得到真正的赞赏。
UPDATE!
经过进一步的研究和测试后,我认为问题不在于select
标签,而是与jquery对话框有关。我在http://jsfiddle.net/chuckl/6Gh78/3/创建了一个测试用例来重现问题。单击“加载”按钮以生成对话框窗口。在FF中,您可以单击列表中的某个项目,然后选择该项目,更新p
标记,并出现一个警告框。在Chrome中,您只能获得警报框。
答案 0 :(得分:1)
我发现以下内容对我有用 - 而不是在点击时使用,例如使用:
jQuery('#elemen select').on('change', (function() {
//your code here
}));
答案 1 :(得分:0)
在版本14.0.814.0中,您可以使用的代码适用于我。但是,由于您所说的是一个错误并且不是一个真正的问题,您应该将其提交给Chromium issue tracker。
答案 2 :(得分:0)
看起来你不是唯一一个! Chrome-html select doesnt recognize value if keyed in
^^有类似的问题。
您的代码对我来说很好。您可能需要考虑将其提交给Google http://code.google.com/p/chromium/issues/list(Chromium Issue Tracker) 或他们的:
Chrome帮助论坛 http://www.google.com/support/forum/p/Chrome
我想您可以尝试更新Chrome或重新安装? :S
答案 3 :(得分:0)
也适用于我(版本12.0.742.122)。可能的问题:
也许你的脚本中有另一个错误,导致这个错误无法执行;检查控制台(Ctrl + Shift + J
)
您的脚本放在页面中的哪个位置?当脚本执行时,可能还没有初始化DOM。在这种情况下,请尝试将其包裹在$(document).ready(function(){ ... })
而不是$(function(){ ... })
答案 4 :(得分:0)
尝试使用Prop方法。我在Safari,Opera,Firefox和Chrome上测试过,它运行良好。
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Test - Option selected - jQuery</title>
</head>
<body>
<form>
<select>
<option value="11">aa</option>
<option value="22">bb</option>
<option value="33">cc</option>
<option value="44">dd</option>
</select>
</form>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script>
$(function(){
$('select option:last').prop('selected','selected');
});
</script>
</body>
</html>
您可以在此处找到更多信息: