2015-11-01 29 views
1

我想添加一行到输入字段的表中并同时设置输入字段值。下面是我的代码,我收到一个错误:JQuery添加行并添加后设置输入值

Error: Syntax error, unrecognized expression: #ItemName[]

任何人都可以帮助确定我做错了吗?

任何帮助表示赞赏。

$('#addItem').click(function() { 
 
$('#itemData tbody:last-child').append('<tr><td align="left"><input id="ItemName[]" name="ItemName[]" type="hidden" value="">cellAAA</td><td align="left"><input id="ItemNombre[]" name="ItemNombre[]" type="hidden" value="">cellBBB</td><td>edit/delete</td></tr>'); 
 
var row = $(this).parent().parent().children().index($(this).parent()) - 1; 
 
$("#itemData td:contains('cellAAA')").html($("#itemName").val()); 
 
$("#itemData td:contains('cellBBB')").html($("#itemNombre").val()); 
 
$("#ItemName[]")[row].val($("#itemName").val()); 
 
$("#ItemNombre[]")[row].val($("#itemNombre").val()); 
 
})

回答

0

我相当肯定,你需要\\所以每次使用支架时字符使用jQuery选择时有\\它前面逃跑的[]字符。值得注意的是,在不逃避的情况下,javascript会做同样的事情。

因此... $(“#ItemNombre \\ [\\]”)[row] .val($(“#itemNombre”)。val());

+0

,看上去充满希望,但现在我收到以下错误:类型错误:$(...)[行]是不确定的 \t $(“# ITEMNAME \\ \\] “)[行] .VAL($(” #ITEMNAME“)VAL())。 – Jecker

+0

该系统编辑出额外的反斜杠。这是实际的代码$(“#ItemName \\\ [\\\]”)[row] .val($(“#itemName”).val()); – Jecker

0

joshin855我们的建议固​​定我是有重大问题,但除去

$("#itemData td:contains('cellAAA')").html($("#itemName").val()); 
 
$("#itemData td:contains('cellBBB')").html($("#itemNombre").val());

,并在加入固定问题的行的时间设定我的价值观。我的代码现在看起来像这样:

$("#addDropItem").click(function(){ 
 
$('#dropItem').bPopup(); 
 
}); 
 
$('#addItem').click(function() { 
 
$('#itemData tbody:last-child').append('<tr><td align="left"><input id="ItemName[]" name="ItemName[]" type="hidden" value="'+$('#itemName').val()+'">'+$('#itemName').val()+'</td><td align="left"><input id="ItemNombre[]" name="ItemNombre[]" type="hidden" value="'+$('#itemNombre').val()+'">'+$('#itemNombre').val()+'</td><td>edit/delete</td></tr>'); 
 
$('#itemName').val(''); 
 
$('#itemNombre').val(''); 
 
})