将对话框弹出窗口中的值动态添加到父页面

时间:2013-01-21 14:33:31

标签: javascript jquery dom select dynamic

好的,我知道我需要做什么......我只是想不出怎么写。基本上,我有一个包含类别表的父页面(比方说颜色,数字,字母)。这些类别是该表的父亲。儿子是红色,蓝色,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 + '&nbsp;' +
                                     document.getElementsByName("text1").item(j).value + '&nbsp; - ' +
                                     document.getElementsByName("select2").item(j).value,
                                     document.getElementsByName("chooseFather").item(j).value);

            }
            parent.$.nmTop().close();
        });

1 个答案:

答案 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的类