jquery chrome选择更改/点击不工作;适用于IE / FF

时间:2011-07-18 00:29:10

标签: jquery google-chrome

我有一个简单的选择列表,当我点击其中一个选项时,会在消息中显示所选的选项。一切都在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中,您只能获得警报框。

5 个答案:

答案 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)。可能的问题:

  1. 也许你的脚本中有另一个错误,导致这个错误无法执行;检查控制台(Ctrl + Shift + J

  2. 您的脚本放在页面中的哪个位置?当脚本执行时,可能还没有初始化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>

您可以在此处找到更多信息:

http://jquery.com/upgrade-guide/1.9/#attr-versus-prop-