好的,我知道我需要做什么......我只是想不出怎么写。基本上,我有一个包含类别表的父页面(比方说颜色,数字,字母)。这些类别是该表的父亲。儿子是红色,蓝色,56,72,abc,def等等。我弹出一个带有下拉列表的nyroModal对话框,为该表添加新行。我成功添加了新行,并在单击我的保存按钮时将正确的下拉值添加到父表中,但未添加到正确的“父”下。他们只是添加到表的末尾。弹出窗口中的一个下拉部分包含父类别的选项(select name =“chooseFather”),这是我无法弄清楚如何传递的唯一值。
<select name="chooseFather">
<option value="Colors" id="father3">Colors</option>
<option value="Numbers" id="father4">Numbers</option>
<option value="Letters" id="father5">Letters</option>
</select>
每个父下拉值都有一个单独的id,与父行的id匹配。我需要类似$(“#parentId”).children().add(your new children)
的动态版本来捕获所选的下拉值,并将正确的子值放在表的相应部分中。以下是我的保存按钮的代码,它将我的值传输到父表/页面。
("img.save").click(function () {
for(var j=0;j<document.getElementsByName("shoreInfo").length;j++) {
parent.updateParent1(document.getElementsByName("select1").item(j).value + ' ' +
document.getElementsByName("text1").item(j).value + ' - ' +
document.getElementsByName("select2").item(j).value,
document.getElementsByName("chooseFather").item(j).value);
}
parent.$.nmTop().close();
});
答案 0 :(得分:1)
如果您要将html模块化如下:
<div class="widget_group">
<h3>Colors</h3>
<table id="Colors"></table>
</div>
<div class="widget_group">
<h3>Numbers</h3>
<table id="Numbers"></table>
</div>
然后,您可以使用第一个选择的值来定位所需的表ID。
另请注意,向要访问的重要元素添加ID可以简化代码
<select value="3" id="chooseFather">
使用jQuery添加行:
$("img.save").click(function () {
if( !validateSelections()){
alert('select one of each');
return;
}
/* note that ID attribute was added to each "select"*/
var tableID= $('#chooseFather').val();
var newRow='<tr><td>'+$('#select1').val()+'</td><td>'+$('#select2').val()+'</td></tr>';
$('#'+ tableID).append( newRow)
});
function validateSelections(){
return $('#chooseFather').val() && $('#select1').val() && $('#select2').val();
}
DEMO:http://jsfiddle.net/xXeGx/1/
也不推荐使用字体标签,而是使用添加到element和css的类