如何“缩小”特定id的onchange?

时间:2011-08-18 02:09:23

标签: jquery binding jquery-selectors

我在jquery web

上找到了这个鳕鱼
$("select").change(function () {
      var str = "";
      $("select option:selected").each(function () {
            str += $(this).text() + " ";
          });
      $("div").text(str);
    })
    .change();

我可以根据需要使用它,但我希望只为#my_id触发此函数。我尝试在两个选择之后插入#my_id但是函数什么都不做。

我虽然可以将此函数绑定为仅选择具有特定ID。

5 个答案:

答案 0 :(得分:1)

如同?

$("#my_id").change(function () {
  var str = "";
  $("#my_id :selected").each(function () {
        str += $(this).text() + " ";
      });
  $("div").text(str);
})
.change();

答案 1 :(得分:1)

这仅适用于<选择>元素。你不应该需要它,但试试这个:

$("select#my_id").change...

还要确保它包含在

$(document).ready(function(){

});

确保DOM准备就绪

答案 2 :(得分:1)

如果您的select标记为my_id而不是交换

select

代表

#my_id

在脚本中出现的两个地方。

答案 3 :(得分:1)

适用于select#my_id

  

http://jsfiddle.net/ambiguous/wAU5w/

你使用select #my_id(注意空格)我的错误吗?

select#my_id选择器与<select id="my_id">元素匹配,select #my_idid="my_id"的{​​{1}}和<select>的任何内容匹配。

答案 4 :(得分:1)

也许这个:

$("select#my_id").change(function() {
    var selOpts = jQuery.map($(":selected", $(this)), function(opt, index) {
        return $(opt).text();
    });
    $("div").text(selOpts.join(" "));
}).change();