0

我对 jQuery 和 javascript 还很陌生,所以请放轻松。我有一个 id="select-cat" 的选择框。这个选择框是动态创建的,所以我继续使用 .on 事件处理程序,如下所示:

$(document.body).on('change', '#select-cat', function() {

});

当我尝试获取期权价值时,我的问题就出现了。以下是我尝试过的一些事情:

var x = this.value; //doesnt work, I'm assuming in this case "this" refers to document.body

$('#select-cat').on('change', function() { //"this" works, but event isn't added to dynamically created elements
    var x = this.value;
});

有没有人可以使用一种方法来将此事件处理程序保留在动态元素上,同时仍然能够提取它们的值?

4

2 回答 2

1

查看 .on 使用:jQuery 文档

$(document).on('change', '#select-cat', function() {
    var x = this.value;
});
于 2013-05-14T15:14:41.597 回答
0

用这个:

$('body').on('change', '#select-cat', function() {
   var value = $(this).find('option:selected').val();

   // do something with the value..
});

选择框本身没有 val,'selected' 选项有一个值

于 2014-04-30T18:13:39.977 回答