我正在尝试为实验单元格大小构建一个计算器,允许用户选择要包含的选项。为了返回单元格的数量/大小,我构建了一个JavaScript函数,用于对输入标记上的名称字段的已检查项目数进行计数。
该函数似乎正常工作,但包括它会产生意外结果,即将复选框转换为静态值字段,显示每个输入的值标记的内容(各个复选框的引用而不是系列)。
我想(并且正在获得):
相反,我现在得到了这个:
以下代码。谢谢。
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
btn1.setText("some text");
}
}

function updateresults() {
var cb_counts = {};
var inputs = document.getElementsByTagName('input');
for (var i = 0; i < inputs.length; i++) {
var ip = inputs[i];
if (ip.type = 'checkbox' && ip.checked) {
if (cb_counts[ip.name]) {
cb_counts[ip.name] ++;
} else {
(cb_counts[ip.name] = 1);
}
}
}
var mincells = cb_counts["reltype"] * cb_counts["relqual"] * cb_counts["ask"] * cb_counts["cause"] * cb_counts["receff"] * cb_counts["retone"] * cb_counts["doneff"];
document.getElementById("mc").innerHTML = mincells;
var samplen = document.getElementById("samps").value;
var percell = samplen / mincells;
document.getElementById("pc").innerHTML = percell;
}
&#13;
答案 0 :(得分:1)
这只是代码中的典型拼写错误:
if (ip.type = 'checkbox' ...
让它成为:
if (ip.type == 'checkbox' ...
必须注意的是,您的代码实际设置的是:
if (ip.type = ('checkbox' && ip.checked))
即:
if (ip.type = <boolean>)
I.E。:无论是真还是假,它都是type
属性的无效值,因此,浏览器会将其解释为默认输入类型(TEXT)。