如何向变量添加字符串;
我有这个js ....如何向变量添加字符串;
$("#form").submit(function(){
var answerlist = "first";
var answerlist = answerlist + "," + $("#get_answer").attr("value");
alert(answerlist);
});
我试图用id #get_answer
到answelist
变量添加输入字段的值....
我期望answerlist
现在= first move
//其中输入字段的值是move
并且是结果是成功的...
现在我第二次尝试向answerlist
变量添加另一个值... 。
值on
我希望结果会是first move on
,但是当我检查使用alert()
返回first on
有人可以帮助我plsss?
我想是的值(字符串)递增到变量answerlist
像
answerlist = "first";
answerlist = "first move";
answerlist = "first move on";
你初始化变量的值在函数内部,那么自然,当它再次呼吁该值将返回到第一
在函数之外初始化它。
尝试......
var answerlist = answerlist + "," + $("#get_answer").val();
不是我一直在寻找的答案... – 2012-04-21 12:38:54
声明变量函数之前的函数! ! var answerlist =“first”; – Vaishu 2012-04-21 12:46:23
随着你在这里的片段,你永远不会有超过“第一,移动”,因为你永远在第二行设置答案列表,它只会在表单提交时生成。所以除非您的输入值是“继续前进”,否则不会显示预期的结果。
你可以把answerlist变量的功能范围之外,如果你想,每当输入被转换添加值...
var answerlist = "first";
$("#form #get_answer").change(function(){
answerlist = answerlist + "," + $("#get_answer").val();
});
$("#form").submit(function(){
alert(answerlist);
});
但是,请注意,您将无法删除这个清单中的任何内容相反,如果您需要具有删除项目的潜力,您可能希望使用数组并推送/弹出这些值。 JavaScript Array Ref
我发现问题先生..在@mightyuhu的帮助下....我只需要做的就是把函数外的answerlist变量...但仍然谢谢你的主席先生的帮助.. – 2012-04-21 12:44:07
(function() {
// to isolate it from rest of the code
var handler = function (target) {
var list = 'first';
return function() {
list = list + target.value;
alert(list);
};
},
action = handler(document.getElementById('get_answer'));
$(document.getElementById('form')).submit(action);
}());
这种结构被称为“封闭”,在JavaScript语言中最重要的功能,它的一个,你应该学习如何使用它。 This lecture可能会有所帮助。
并请停止使用$.attr()
为琐碎的事情。
谢谢你分享这个 – Dhiraj 2012-04-21 13:14:56
谢谢先生....你让我明白......非常感谢你......我忘了把变量answelist放在函数之外...... – 2012-04-21 12:42:32
这不会像预期的那样工作,如果同一个变量已经在其他地方了。 JavaScript使用函数级别的范围,因此您的初始化变量很可能会在全局范围内结束。基本上,问题与其他语言中的全局变量相同:*意想不到的后果*。 – 2012-04-22 10:28:12