Jquery 如何获取追加的行表的值
我的代码中有一些问题。。。我正在使用html和jquery。。 我想提醒之前附加的详细信息的值。。。这是我的密码:Jquery 如何获取追加的行表的值,jquery,html,jquery-ui,Jquery,Html,Jquery Ui,我的代码中有一些问题。。。我正在使用html和jquery。。 我想提醒之前附加的详细信息的值。。。这是我的密码: <table id="tablePreDefineDetail"> <tr id="rowPreDefineDetail"><td><input type="checkbox" name="chkPredefineDetail" ><input type="hidden" name="idPredefineDetail" val
<table id="tablePreDefineDetail">
<tr id="rowPreDefineDetail"><td><input type="checkbox" name="chkPredefineDetail" ><input type="hidden" name="idPredefineDetail" value="1"></td><td width="5"><input type="text" name="txtCodePredefineDetail" value="ab" size="10"></td><td><input type="text" name="txtDescriptionPredefineDetail" id="txtdesk" size="50"></td><td><a href="#"><button class="upPredefine"></button></a><a href="#"><button class="downPredefine"></button></a><a href="#"><button class="removeStdInsBtn"></button></a></td></tr>
<tr id="rowPreDefineDetail"><td><input type="checkbox" name="chkPredefineDetail" ><input type="hidden" name="idPredefineDetail" value="2"></td><td width="5"><input type="text" name="txtCodePredefineDetail" value="ac" size="10"></td><td><input type="text" name="txtDescriptionPredefineDetail" id="txtdesk" size="50"></td><td><a href="#"><button class="upPredefine"></button></a><a href="#"><button class="downPredefine"></button></a><a href="#"><button class="removeStdInsBtn"></button></a></td></tr>
</table>
有人帮我吗???你没有发布所有的html,但是作为第一个猜测,我建议使用遍历DOM树
var idPredefineDetail=$(this).closest( "#dialog-confirm" ).children("input[name=idPredefineDetail]").val();
您可以使用“最近”和“查找”的组合。 试试这个:
$('#tablePreDefineDetail tr button.removeStdInsBtn').click(function(e){
var obj=$(this);
e.preventDefault();
$("#dialog-confirm").dialog({
buttons : {
"Confirm" : function() {
var idPredefineDetail=obj.closest("tr").find("input[name=idPredefineDetail]").val();
alert(idPredefineDetail);
$(this).dialog("close");
},
"Cancel" : function() {
$(this).dialog("close");
}
}
});
$('#dialog-confirm').dialog('open');
});
我相信$(这个)实际上是指向#对话框确认。应该使用在click回调函数开头设置的obj变量。您也没有回溯到足够远的地方,需要另一个parent()调用
在这里,我想修改下面提到的代码,它最初是由Cybernate发布的 $('#TablePredefinedDetailTR button.removeStdInsBtn')。单击(函数(e){var obj=$(此) })) 例如,我有一个这样的超链接 点击我 单击此链接时,我访问的值是id='clickit'作为obj.attr(“id”);使用。
因此,我们可以在id、名称或其他标记属性中放置所需的值,稍后我们可以轻松访问它…没有重复的id。。。将
id=“rowPreDefineDetail”
更改为class=“rowPreDefineDetail”
。最好告诉我们有什么问题。@walio如果我提醒idPredefineDetail的值。。结果显示未定义。。。我不知道如何获取它..在确认处理程序中,您使用的是$(this),它指的是对话框,而不是按钮。您应该使用obj,因为它仍然在范围内。
$('#tablePreDefineDetail tr button.removeStdInsBtn').click(function(e){
var obj=$(this);
e.preventDefault();
$("#dialog-confirm").dialog({
buttons : {
"Confirm" : function() {
var idPredefineDetail=obj.closest("tr").find("input[name=idPredefineDetail]").val();
alert(idPredefineDetail);
$(this).dialog("close");
},
"Cancel" : function() {
$(this).dialog("close");
}
}
});
$('#dialog-confirm').dialog('open');
});
var idPredefineDetail=obj.parent().parent().parent().children("input[name=idPredefineDetail]").val();
alert(idPredefineDetail);
$(this).dialog("close");
e.preventDefault();
$("#dialog-confirm").dialog({
buttons : {
"Confirm" : function() {
var idPredefineDetail=obj.attr("id");
alert(idPredefineDetail);
$(this).dialog("close");
},
"Cancel" : function() {
$(this).dialog("close");
}
}
});
$('#dialog-confirm').dialog('open');