javascript中的单引号或双引号

时间:2017-06-05 17:07:42

标签: javascript jquery

我是Jquery的初学者, 混淆使用单引号或双引号来调用myName文本框的值,我想捕获文本框的值。

这是我的代码,调用函数save_order不起作用,因为失败语法在 的document.getElementById(的 'MYNAME')。值

什么是正确的语法?

<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>

请帮助我任何人 谢谢

3 个答案:

答案 0 :(得分:0)

问题在于调用document.getelementById。通过转义,您可以实现结果。

Set wshShell = WScript.CreateObject("WScript.Shell")
wshShell.run "C:\Lexibar\SendKeys.exe",0

检查你的部分:<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\')作为字符串的开头和结尾字符时,如果要将'内部用作字符串文字,则必须使用\'

答案 1 :(得分:0)

<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>

你可以这样做,或者只使用双引号,因为它也应该起作用。

答案 2 :(得分:0)

在代码中的代码中包含代码实际上只是乞求引用问题,说实话。不要将这些语言叠加在一起,而是使用您已经使用的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代码可以有一个单击处理程序,它响应任何&#34; order按钮&#34;点击:

$(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合理分离,代码变得更清晰,更易于维护。我确信这可以清理得更多,但这至少应该足以让你开始。