如何检测Select上的更改,这是从代码中调用的?

时间:2010-10-01 06:40:10

标签: javascript jquery

如果我在select元素中按代码更改选项,我想在select上触发.change()。

我从jQuery文档中获取示例,并将我的钩子添加到链接,在选择后单击更改选择选项后。问题是如果用户点击该链接,则更改功能不会做出反应。

http://api.jquery.com/change/

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

$("#test").click(function () {
  $("select option:eq(2)").attr("selected", "selected")
});   

1 个答案:

答案 0 :(得分:1)

更改功能仅对用户操作做出反应。 你可以打电话: $( '选择')变化()。手动:

$("#test").click(function () {
  $("select option:eq(2)").attr("selected", true);
  $('select').change();
}); 

您应该使用ID而不是jquery选择器:'select'。以防您在1页上使用多个选择。