Jquery 动态添加input标签,并且给value赋值,但是值有空格,就会出现如下错误

时间:2022-07-18 11:53:33

$("#abc").append('<input type="hidden" name="yearp[]" value="'+year+'">');

用Firebug调试,出现:

<input type="hidden" aspirated="" naturally="" gas="" v8="" in.="" 472cu.="" value="7.7L" name="engine[]">

正确的应该:value="7.7L 472Cu. In. V8 GAS Naturally Aspirated"


请问这种情况怎么解决

8 个解决方案

#1


var iii = $('<input type="hidden" name="yearp[]" />');
iii.val(year);
$("#abc").append(year);

#2


您好。你的答案给了我很好的启示,但是请看我的完整代码:

$("#add").append('<tr><td><input type="checkbox" name="occurrence"><a href="javascript:void(0)" title="删除" onclick=deloccurrence(this,"one")><img src="/link/img/action/trash.png"></a></td><td>'+year+'<input type="hidden" name="year[]" value='+year+'></td><td>'+make+'<input type="hidden" name="make[]" value='+make+'></td><td>'+model+'<input type="hidden" name="model[]" value='+model+'></td><td>'+trim+'<input type="hidden" name="trim[]" value="'+trim+'"></td><td>'+engine+'<input type="hidden" name="engine[]" value='+engine+'></td></tr>');

#3


引用 2 楼  的回复:
您好。你的答案给了我很好的启示,但是请看我的完整代码:
JScript code

$("#add").append('<tr><td><input type="checkbox" name="occurrence"><a href="javascript:void(0)" title="删除" onclick=deloccurrence(this,"one")><img src="/lin……

你里面哪些是变量啊

#4


year
make
model
trim
engine

这些是变量

#5


一样的道理啦,另外我写错了


var iii = $('<input type="hidden" name="yearp[]" />');
    iii.val(year);
    $("#abc").append(iii);

#6


关键是里面有<input>和<checkbox>这2个标签,肯定有value属性,
那么你的写法是不是一概而论,会把<checkbox>的value值也设置成动态变量year啊?

#7


你的这种写法应该是还要添加写一行。整体能达到效果。
有些缺陷就是
1.导致页面设计不合理
2.提交后,对数据还要处理,删除空值

谢谢了

#8


自己改进了一下:
$("#add").append('<tr><td><input type="checkbox" name="occurrence"><a href="javascript:void(0)" title="删除" onclick=deloccurrence(this,"one")><img src="/link/img/action/trash.png"></a></td><td>'+year+'</td><td>'+make+'</td><td>'+model+'</td><td>'+trim+'</td><td>'+engine+'</td></tr>');

$('<input>', {type: 'hidden', name: 'year[]', val: year}).appendTo("#add");
$('<input>', {type: 'hidden', name: 'make[]', val: make}).appendTo("#add");
$('<input>', {type: 'hidden', name: 'model[]', val: model}).appendTo("#add");
$('<input>', {type: 'hidden', name: 'trim[]', val: trim}).appendTo("#add");
$('<input>', {type: 'hidden', name: 'engine[]', val: engine}).appendTo("#add");



#1


var iii = $('<input type="hidden" name="yearp[]" />');
iii.val(year);
$("#abc").append(year);

#2


您好。你的答案给了我很好的启示,但是请看我的完整代码:

$("#add").append('<tr><td><input type="checkbox" name="occurrence"><a href="javascript:void(0)" title="删除" onclick=deloccurrence(this,"one")><img src="/link/img/action/trash.png"></a></td><td>'+year+'<input type="hidden" name="year[]" value='+year+'></td><td>'+make+'<input type="hidden" name="make[]" value='+make+'></td><td>'+model+'<input type="hidden" name="model[]" value='+model+'></td><td>'+trim+'<input type="hidden" name="trim[]" value="'+trim+'"></td><td>'+engine+'<input type="hidden" name="engine[]" value='+engine+'></td></tr>');

#3


引用 2 楼  的回复:
您好。你的答案给了我很好的启示,但是请看我的完整代码:
JScript code

$("#add").append('<tr><td><input type="checkbox" name="occurrence"><a href="javascript:void(0)" title="删除" onclick=deloccurrence(this,"one")><img src="/lin……

你里面哪些是变量啊

#4


year
make
model
trim
engine

这些是变量

#5


一样的道理啦,另外我写错了


var iii = $('<input type="hidden" name="yearp[]" />');
    iii.val(year);
    $("#abc").append(iii);

#6


关键是里面有<input>和<checkbox>这2个标签,肯定有value属性,
那么你的写法是不是一概而论,会把<checkbox>的value值也设置成动态变量year啊?

#7


你的这种写法应该是还要添加写一行。整体能达到效果。
有些缺陷就是
1.导致页面设计不合理
2.提交后,对数据还要处理,删除空值

谢谢了

#8


自己改进了一下:
$("#add").append('<tr><td><input type="checkbox" name="occurrence"><a href="javascript:void(0)" title="删除" onclick=deloccurrence(this,"one")><img src="/link/img/action/trash.png"></a></td><td>'+year+'</td><td>'+make+'</td><td>'+model+'</td><td>'+trim+'</td><td>'+engine+'</td></tr>');

$('<input>', {type: 'hidden', name: 'year[]', val: year}).appendTo("#add");
$('<input>', {type: 'hidden', name: 'make[]', val: make}).appendTo("#add");
$('<input>', {type: 'hidden', name: 'model[]', val: model}).appendTo("#add");
$('<input>', {type: 'hidden', name: 'trim[]', val: trim}).appendTo("#add");
$('<input>', {type: 'hidden', name: 'engine[]', val: engine}).appendTo("#add");