HTML复选框输入更改为" true"或"假"在JavaScript函数中使用时

时间:2016-09-02 21:27:56

标签: javascript html checkbox input

我正在尝试为实验单元格大小构建一个计算器,允许用户选择要包含的选项。为了返回单元格的数量/大小,我构建了一个JavaScript函数,用于对输入标记上的名称字段的已检查项目数进行计数。

该函数似乎正常工作,但包括它会产生意外结果,即将复选框转换为静态值字段,显示每个输入的值标记的内容(各个复选框的引用而不是系列)。

我想(并且正在获得):

Correct Input Appearance

相反,我现在得到了这个:

Current Input Appearance

以下代码。谢谢。



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;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

这只是代码中的典型拼写错误:

if (ip.type = 'checkbox'  ...

让它成为:

if (ip.type == 'checkbox' ...

必须注意的是,您的代码实际设置的是:

if (ip.type = ('checkbox' && ip.checked))

即:

if (ip.type = <boolean>)

I.E。:无论是真还是假,它都是type属性的无效值,因此,浏览器会将其解释为默认输入类型(TEXT)。