首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

怎么为动态增加的input数组相应的赋值

2012-05-22 
如何为动态增加的input数组相应的赋值点击选择然后,新窗口中为相应的input赋值就是这个效果。HTML codeinp

如何为动态增加的input数组相应的赋值
点击选择然后,新窗口中为相应的input赋值

就是这个效果。

HTML code
<input type="button" id="btn_addtr" class="btn" value="增行" style="float:left;" />最多可增100行<br />        <table id="softlist" style=" background:#f0f0f0;width:100%" >        <tr>        <td><input type="text" size="2" value="1"  id="tb_number"  class="tb_box" /><input name="tb_softid" id="tb_softid" type="hidden" /></td>        <td>软件名称:<asp:TextBox ID="tb_softName" runat="server" ReadOnly="true" CssClass="tb_box" Width="200"></asp:TextBox></td>        <td><input type="button" value="选择" class="btn" onclick="window.open('SelectSoft.aspx','','height=800,width=700,scrollbars=yes,status =yes')" /></td>        <td>站点数:<asp:TextBox ID="tb_Sites" runat="server"   ReadOnly="true" CssClass="tb_box" Width="50"></asp:TextBox></td>        <td>市场价:<asp:TextBox ID="tb_MarketPrice" runat="server" ReadOnly="true" CssClass="tb_box" Width="50"></asp:TextBox></td>        <td>伙伴折扣:<asp:TextBox ID="tb_Fold" runat="server" ReadOnly="true" CssClass="tb_box" Width="50"></asp:TextBox></td>         <td><input type="button"  onclick="deltr()" class="btn" value="删除" /></td>         </tr>     </table>

JScript code
 var count = $("#tb_number").val();    //递增的开始值,这里是你的ID                  $(function () {                    var show_count = 100;   //要显示的条数                      var fin_count = parseInt(count) + (show_count - 1);   //结束递增的条件                      $("#btn_addtr").click(function () {                        if (count < fin_count)    //点击时候,如果当前的数字小于递增结束的条件                          {                            $("#softlist tr:eq(0)").clone().appendTo("#softlist");   //在表格后面添加一行                               $("#softlist tr:last td input:first").val(++count);   //改变添加的行的ID值。                                          }                    });                });                function deltr() {                    var length = $("#softlist tr").length;                    if (length <= 1) {                        alert("至少保留一行");                    } else {                        $("#softlist tr:last").remove();                        count--;                    }                }  

新窗口打开是这样子的
 
 点击“确定”就为上级窗口的的相应文本框赋值。
现在的代码是这样子的
JScript code
function SetParentValue() {         window.opener.$('#tb_softName').val($("#tb_SoftName").attr("value"));        window.opener.$('#tb_softid').val($("#tb_SoftID").attr("value"));        window.opener.$('#tb_Sites').val($("#tb_Sites").attr("value"));        window.opener.$('#tb_Fold').val($("#tb_Fold").attr("value"));        window.opener.$('#tb_MarketPrice').val($("#tb_Price").attr("value"));         window.close();     }

但是这样子,每次都是为第一行的文本框赋值,我想为对应行的文本框赋值,请问该怎么做

------解决方案--------------------


使用“#id”选择器每次只能选中定义的第一个符合条件的元素,若想选中多个,可使用$('[id=XXX]')。
LZ可将点击选择按钮的所在行的行号rowIndex传到弹出窗,然后使用如下方式赋值:
window.opener.$('[id="tb_softName"]').eq(rowIndex).val($("#tb_SoftName").attr("value"));
[解决办法]

JScript code
var count = 0;$("input[name='tb_CJ_Price']").each( function() {    count += parseInt($(this).val());}); 

热点排行