Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript中似乎无法访问表单复选框的标签?_Javascript_Spring_Model View Controller_Checkbox_Label - Fatal编程技术网

在Javascript中似乎无法访问表单复选框的标签?

在Javascript中似乎无法访问表单复选框的标签?,javascript,spring,model-view-controller,checkbox,label,Javascript,Spring,Model View Controller,Checkbox,Label,最近几天,我一直在努力让我的javascript作品能够从javascript中访问多选复选框标签的值。我没有取得任何成功 当我们在表单中做一个复选框时,总是有一个值/标签对显示给我们,值隐藏在小正方形按钮中供我们单击,标签用于显示它是什么 但不幸的是,在HTML4.0.1和HTML5中,在复选框属性列表中,我们没有看到任何关于标签保存在复选框对象中的内容。这就是为什么我们不能从javascript访问复选框的标签值 现在这对我来说是一个非常烦人的问题。我从数据库中获得了一组复选框值/标签对,值

最近几天,我一直在努力让我的javascript作品能够从javascript中访问多选复选框标签的值。我没有取得任何成功

当我们在表单中做一个复选框时,总是有一个值/标签对显示给我们,值隐藏在小正方形按钮中供我们单击,标签用于显示它是什么

但不幸的是,在HTML4.0.1和HTML5中,在复选框属性列表中,我们没有看到任何关于标签保存在复选框对象中的内容。这就是为什么我们不能从javascript访问复选框的标签值

现在这对我来说是一个非常烦人的问题。我从数据库中获得了一组复选框值/标签对,值字段用于保存商品的名称,标签用于保存商品的实际值,以显示我的客户要提货。我有一个javascript来帮助我的客户计算到目前为止他们已经获得了多少。这就是为什么我需要javascript来访问标签值

复选框项是从DB动态生成的,它以映射格式放入SpringMVCModelAndView对象中。有一段JSP/Javascript代码:

<div id="container">
<form:checkboxes id="payment_payForUnits" path="payForUnits" onclick="pickedUnits()" items="${UnitRatePair}" cssStyle="width:40px;" /> 
<script type="text/javascript">Spring.addDecoration(new Spring.ElementDecoration({elementId : "payment_payForUnits",widgetType : "dijit.form.MultiSelect",widgetAttrs : {hasDownArrow : true, promptMessage: "<fmt:message key="payment.payforunits.help"/>"}})); 
  function pickedUnits()
  {
    var payForUnits = document.forms[0].payForUnits;
    var txt = "";
    var i;
for (i=0;i<payForUnits.length;i++)
    {
      if (payForUnits[i].checked)
      {
        txt = txt + payForUnits[i].value + " ";
      }
    }
  document.getElementById("payment_paymentReference").value = "You selected: " + txt;
  }
  </script>
</div>
如果有人有更好的主意,请告诉我


新年快乐!伙计们。

如果要动态添加标签/复选框对,在添加标签/复选框对时,能否为它们提供一个id,以便链接标签和复选框


e、 g.在每个复选框/标签对上迭代i,将复选框id设置为复选框+i,将标签id设置为标签+i,这样,如果单击复选框+i,您可以解析出i并查找标签+i,而不是访问表单复选框属性,尝试直接从javascript成功访问模型对象。问题已通过简单调用解决:

var unitRatepair= '${UnitRatePair}';
修好了

希望对其他遇到类似问题的人有所帮助


干杯

多谢各位。JSP64。我过去主要是在服务器端进行Java开发,我对JSP和Javascript不是很在行。您能告诉我如何更改我的JSP代码,让JSP在我上面的代码片段中显式地为标签赋值吗?在SpringMVC中,定义一个多选复选框,似乎不必这样做,只要给复选框映射,它就会正常工作。代替访问表单复选框属性,尝试直接从javascript成功访问模型对象。这个问题通过简单的调用得到解决:var unitRatepair='${unitRatepair}';修好了。希望对其他遇到类似问题的人有所帮助。干杯