Javascript 使用jquery选择标记的onchange事件

Javascript 使用jquery选择标记的onchange事件,javascript,jquery,html,Javascript,Jquery,Html,我有一个jQuery,我在表中为每一行添加select标记,我想为每一行的每个下拉列表保留onChange事件。如图所示,我尝试使用onchange事件,但不起作用。我的jQuery代码如下: for (var j = 0; j < leng; j++) { o = proplist[j]; txt = "<tr><td>" + o.Value + "</td><td><select name=" + o.Key + "

我有一个jQuery,我在表中为每一行添加select标记,我想为每一行的每个下拉列表保留
onChange
事件。如图所示,我尝试使用
onchange
事件,但不起作用。我的jQuery代码如下:

for (var j = 0; j < leng; j++) {
    o = proplist[j];
    txt = "<tr><td>" + o.Value + "</td><td><select name=" + o.Key + "onchange='OnChange();'>";
    for (var k = 0; k < data.length; k++) {
        if (data[k] == o.Value || data[k] == o.Key) {
            txt1 += " <option selected>" + data[k] + "</option>";
        } else txt1 += " <option>" + data[k] + "</option>";
    }
    txt = txt + txt1 + "<option value='0'>Ignore</option></select></td></tr>";
    $("#propertycolumnListTable tbody").append(txt);
    txt = "";
    txt1 = "";
}
for(var j=0;j
您可以尝试以下方法:

$('select').change(function () {
    OnChange();
});
试试这个

$(function() {
  $("#propertycolumnListTable tbody").on("change","select",function() {
    // whatever you want when any select in the tbody changes
  });
});
如果您有jQuery,为什么不使用它呢

for (var j = 0; j < leng; j++) {
  o = proplist[j];
  var $tr = $("<tr/>");
  var $td = $("<td/>");
  var $sel = $("<select/>",{name:o.Key}); 
  $sel.append('<option value='0'>Ignore</option>');
  var selected = null;
  data.each(function() {
    $sel.append("<option/>",{value:this,text:this});  
    if (this == o.Value || this == o.Key) selected=this;
  });
  if (selected) $sel.val(selected);
  $td.append($sel);
  $tr.append($td);
  $("#propertycolumnListTable tbody").append($tr);
}
for(var j=0;j
如果您声明了一个
OnChange()
函数,则应使用此代码调用该函数,我将检查firebug控制台中是否显示任何错误。您的
OnChange
函数需要在全局范围内可用,因此请在任何其他函数(如jQuery DOM ready事件处理程序)之外声明它。并检查控制台,可能存在错误。您可以在('change',function(){OnChange()})上使用$(parent).on('change');