我在女巫中动态创建了表格,我附加了输入和下拉列表......
使用ajax我得到下拉列表的json值,并将其分配给某个变量:
var s = $('<select />');
$.each(obj1, function (value, obj) {
$('<option />', { value: obj.Value, text: obj.Text }).appendTo(s);
});
后来我在表格中添加了行:
$("#tblData tbody").append("<tr>" +
"<td><input type='text' style=\"width:180px\" class=\"phone\"/></td>" +
"<td><input type='text' style=\"width:180px\"/></td>" +
"<td><input type='text' style=\"width:180px\"/></td>" +
"<td style=\"overflow: hidden;\"><select style=\"width:212px\" class=\"dialog\">" + s.html() + "</ select></td>" +
"</tr>");
这是按下一些按钮,每次点击我都会添加一行。 这项工作非常完美。(我使用3个输入和一个下拉列表生成新行。)
我不知道的部分,我无法找到如何在我的下拉更改(同一行)上更改某些输入值。 (如果我有5行,并且我在第三行更改下拉列表,我想更改第三行中的某些输入。)
我从:
开始 $(".partnerTable tbody").on("click", "tr", function (e) {
alert($(this).find(".phone").val());
});
这是尝试我看到行响应点击。(partnerTable
)是我的表的类。
我得到了每一行的回复,这很好。
但现在的问题是如何通过下拉列表进行更改。
我尝试这样的事情:
$(".partnerTable tbody").on("click", "tr", function (e) {
$(this).find("dialog").change(function () {
alert($(this).find(".phone").val());
});
});
但这不起作用。是否可以制作这样的东西?
感谢名单
答案 0 :(得分:1)
如果table也是动态创建的,那么写一下:
$(document).on("change", ".dialog", function (e) {
// do something
});
如果在DOM加载时创建了表,您可以这样写:
$(".partnerTable tbody").on("change", ".dialog", function (e) {
// do something
});
你做的方式可以试试这个:
$(".partnerTable tbody").on("click", "tr", function (e) {
$(this).on("change",".dialog",function () {
});
});