Javascript jquery通过代码添加输入,并调用另一个函数bad quotes串联
我正在做一个文本框,当用户失去焦点时动态创建另一个文本框 我可以创建第一个动态文本框,但第二个不起作用,因为jquery生成的html不起作用 jQueryJavascript jquery通过代码添加输入,并调用另一个函数bad quotes串联,javascript,jquery,html,Javascript,Jquery,Html,我正在做一个文本框,当用户失去焦点时动态创建另一个文本框 我可以创建第一个动态文本框,但第二个不起作用,因为jquery生成的html不起作用 jQuery function AddTextBox(idnewcontrol, container) { var htmlinner = "<input class='form-control' id='" + idnewcontrol + "' name='" + idnewcontrol + "' type='text' onb
function AddTextBox(idnewcontrol, container)
{
var htmlinner = "<input class='form-control' id='" + idnewcontrol + "' name='" + idnewcontrol + "' type='text' onblur='AddTextBox ('"+idnewcontrol+"','" + container + "')'>";
$('#' + container).append(htmlinner);
};
函数AddTextBox(idnewcontrol,容器)
{
var htmlinner=“”;
$('#'+容器).append(htmliner);
};
第一次使用模糊后生成的Html
<input class="form-control" id="PollOptions" name="PollOptions" type="text" onblur="AddTextBox(" polloptions','polloptionslist')'="">
尝试以下代码(将最后两个双引号转义为“”)即可:
var htmlinner = "<input class='form-control' id='" + idnewcontrol + "' name='" + idnewcontrol + "' type='text' onblur=\"AddTextBox('"+idnewcontrol+"','" + container + "')\">";
var htmlinner=“”;
结果:
<input class="form-control" id="aaa" name="bbbb" type="text" onblur="AddTextBox('cccc','dddd')">
您可以使用
live
功能,而不是使用onblur
属性:
$('.form-control').live('blur', function() {
var idnewcontrol = $(this).attr('id')+'stuff';
var htmlinner = "<input class='form-control' id='" + idnewcontrol + "' name='" + idnewcontrol + "' type='text'>";
$('#polloptionslist').append(htmlinner);
})
$('.form-control').live('blur',function(){
var idnewcontrol=$(this.attr('id')+'stuff';
var htmlinner=“”;
$(“#polloptionslist”).append(htmlinner);
})
您只需根据需要更改id和容器!尝试像这样转义双引号\“我建议改为创建jQuery对象,因为您可以在可读性更高的代码中分配所有这些属性。但是,您是否意识到,这只会一次又一次地使用相同的ID和名称创建重复控件?