HTML代码:

<tr class="item-row">
   <td>
     <input type="button" class='del' value="" style="z-index:16; background-image:url(../images/delete.png); background-repeat:no-repeat; background-position:left center; text-align:right;"/>
   </td>
   <td>
     <input type="button" name="pilihItem[]" value="i" id="pilihItem" class="pilihItem">
   </td>
   <td>
     <input type="text" id="nama_item" name="nama_item[]" value="" style="width: 200px;">
   </td>
</tr>
<tr class="item-row">
   <td>
     <input type="button" class='del' value="" style="z-index:16; background-image:url(../images/delete.png); background-repeat:no-repeat; background-position:left center; text-align:right;"/>
   </td>
   <td>
     <input type="button" name="pilihItem[]" value="i" id="pilihItem" class="pilihItem">
   </td>
   <td>
     <input type="text" id="nama_item" name="nama_item[]" value="" style="width: 200px;">
   </td>
</tr>


jQuery代码打开子窗口:

$("#pilihItem").click(function(){
        var id = 1;
        var name = $(this).prev().attr("name");
        var url = "../formItem.php?id=" + id + "&name=" + name;

        window.open(url, 'Pilih Item', 'location=1,status=1,scrollbars=1,resizable=no,width=800,height=300');
    });


将值设置为父窗口的jQuery代码:

window.opener.$("#nama_item").val($.trim(nama_item));




问题 :
我无法设置单击#pilihItem按钮的#nama_item文本框的值。
它总是将文本框设置在第一行。任何帮助都感激不尽。

最佳答案

您使用ID选择输入,而应该使用唯一的输入。

您或者需要将ID更改为唯一(无论如何,它们在DOM中都应该是唯一的),或者将复选框的名称更改为类似...

<input type="text" name="nama_item[1]" value="" style="width: 200px;">

并在弹出窗口中更改您的JS以使用此名称代替ID ...

window.opener.$("input[name='nama_item[1]']").val($.trim(nama_item));

关于jquery - window.opener不会将值返回到正确的文本框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15386817/

10-14 13:07
查看更多