使用jquery的select标签的onchange事件

时间:2014-02-10 10:05:58

标签: 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 + "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 = "";
}

2 个答案:

答案 0 :(得分:0)

你可以试试这个:

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

答案 1 :(得分:0)

试试这个

$(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);
}