单引号或双引号在javascript追加
我是jquery初学者, 用单引号或双引号混淆了myName文本框的值,我想赶上文本框的值。单引号或双引号在javascript追加
这是我的代码,调用函数save_order不工作,因为在 的document.getElementById('MYNAME')失败语法.value的
什么是正确的语法?
<script>
var param=3;
$('#saveList').append(
'<p>FullName : <input type="text" id="myName"></p>'+
'<p><input type="button" value="SAVE" onClick="save_order('+ param +',document.getElementById('myName').value)"></p>');
</script>
请帮我人 谢谢
的问题是在调用的document.getElementById。随着逃跑,你可以达到你的结果。
<script>
var param=3;
$('#saveList').append(
'<p>FullName : <input type="text" id="myName"></p>'+
'<p><input type="button" value="SAVE" onClick="save_order('+ param +',document.getElementById(\'myName\').value)"></p>');
</script>
检查部分:document.getElementById('myName')
...
我的一部分:document.getElementById(\'myName\')
当您使用'
为字符串的开始和结束的字符,你必须使用\'
如果你想使用'
作为字符串文字内部。
谢谢你..现在工作 – Def
<script>
var param=3;
$('#saveList').append(
'<p>FullName : <input type="text" id="myName"></p>'+
'<p><input type="button" value="SAVE" onClick="save_order('+ param +',document.getElementById(\'myName\').value)"></p>');
</script>
你可以这样做,或只是使用双引号,应该工作了。内码内码
拥有的代码实际上只是乞求报价的问题,说实话。相反,堆叠在彼此顶部的这些语言,使用您已经使用,为您的新元素单击处理jQuery库。
如果这些添加的元素是唯一的并且可能具有id
值,那么我们不妨使用输入按钮的class
值。我们将使用data-
属性的动态值。事情是这样的:
var param=3;
$('#saveList').append(
'<p>FullName : <input type="text" id="myName"></p>'+
'<p><input type="button" class="orderButton" value="SAVE" data-name="myName" data-param="'+ param +'"></p>');
jQuery代码能够具有响应任何“命令按钮”一个单一的点击处理程序点击:
$(document).on('click', '.orderButton', function() {
var nameElement = $(this).data('name');
var name = $('#' + nameElement).val();
var param = $(this).data('param');
save_order(param, name);
});
保持HTML和JavaScript合理分离,代码变成更清洁,更容易维护。我敢肯定,这可以被相当多的清理,但至少应该足以让你开始。
能否请您发布所有的代码?包括HTML和导致错误的部分。 – doutriforce