"reference" in javascript?
"reference" in javascript?
我有一组变量,用来判断调查中的某个问题是否得到了回答,它们最初被设置为false: q0=false; q1=false; qX=false;
。然后在体内,我有几个input type="radio"
每个都连着.change(function(){ counter_radio(q#,INPUT'S_ID); });
。这是函数counter_radio()的代码:
function counter_radio(q,id){
if (q===false) {
q=true;
count++;
$("#counter").css("width", count);
$("#percent").text(count + "%");
}
$("span#"+id).append(", "+q);
$("span#"+id).fadeIn();
}
我期望计数器只增加一次(第一次从集合中选择一个无线电)。但是,每当input type=radio
发生变化时,计数器就会增加。我的问题是,q
返回真,但q#
仍然是假的。在php中,我会使q
成为q#
的引用,因此当q
设置为true时,q#
也设置为true。javascript中有这样的结构吗?
您可以将绑定函数更改为:
.change(function(){ q# = counter_radio(q#,INPUT'S_ID); });
并将return q;
添加到counter_radio函数的末尾。
正如其他人所说,像布尔值这样的简单变量在Javascript中是按值传递的,而不是按引用传递的,所以没有办法改变这一点。
如果你有这样的多个变量:
var q0=false, q1=false, qX=false;
那么,将它们放在数组中可能更容易:
var qArray = [false, false, false];
然后,因为数组和对象以一种你可以修改原始数据的方式传递,你可以像这样传递数组和一个索引给你的函数,然后你就可以修改你的函数的原始数据:
function counter_radio(q, index, id){
if (q[index] === false) {
q[index] = true;
count++;
$("#counter").css("width", count);
$("#percent").text(count + "%");
}
$("span#"+id).append(", " + q[index]);
$("span#"+id).fadeIn();
}
counter_radio(qArray, 2, id);
没有原生语法,但你可以使用对象来实现:
function counter_radio(q_,id){
if (q_.ref===false) {
q_.ref=true;
count++;
$("#counter").css("width", count);
$("#percent").text(count + "%");
}
$("span#"+id).append(", "+q);
$("span#"+id).fadeIn();
}
我将收集用户提交表单时的值:
jQuery('radio[name=...]:checked').val()
如果你想警告用户不是所有的问题都被回答了,使用jQuery验证插件
相关文章:
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- Javascript复选框函数:;缺少:在属性id之后"
- 图像可以从源<img src=""/>.TEXT可以在没有javascript的情况下从外部
- CKEditor如何允许href="javascript:void(0)"在小部件中
- 插入“;img src"在javascript中
- "访问控制允许起源”;通过javascript从http页面调用同一网站的httpsurl时出现问题
- 尝试使用Javascript正则表达式来获取“&"分隔文本,无论它是否's是最后一个值
- 如何's css标记"-webkit最小设备像素比”;在Javascript中实现
- 内联javascript与"<脚本>"字符串错误地关闭了脚本标记
- 什么是"!函数(){}〃;javascript中的mean/do
- 使用javascript"这个“;用于jquery选择器
- 我可以在不使用乘法运算符“”的情况下进行乘法运算吗*"在JavaScript中
- 用分隔符分隔具有多个整数值的字符串的Javascript"重试错误的值
- 什么是==+"在javascript中
- 什么是“;回归"javascript中的mean
- 可以't删除“;C: fakepath "使用javascript替换和regex
- 如何删除“"使用javascript从字符串中提取字符
- 如何使用Javascript获取当前页面URL,并在<a href="[the_URL]”>
- JavaScript异常:“;不成形”;在firefox浏览器上;XMLHttpRequest"chrome浏
- button1.Attributes.Add(“onclick"“javascript: window.open