在Javascript中似乎无法访问表单复选框的标签?
最近几天,我一直在努力让我的javascript作品能够从javascript中访问多选复选框标签的值。我没有取得任何成功 当我们在表单中做一个复选框时,总是有一个值/标签对显示给我们,值隐藏在小正方形按钮中供我们单击,标签用于显示它是什么 但不幸的是,在HTML4.0.1和HTML5中,在复选框属性列表中,我们没有看到任何关于标签保存在复选框对象中的内容。这就是为什么我们不能从javascript访问复选框的标签值 现在这对我来说是一个非常烦人的问题。我从数据库中获得了一组复选框值/标签对,值字段用于保存商品的名称,标签用于保存商品的实际值,以显示我的客户要提货。我有一个javascript来帮助我的客户计算到目前为止他们已经获得了多少。这就是为什么我需要javascript来访问标签值 复选框项是从DB动态生成的,它以映射格式放入SpringMVCModelAndView对象中。有一段JSP/Javascript代码:在Javascript中似乎无法访问表单复选框的标签?,javascript,spring,model-view-controller,checkbox,label,Javascript,Spring,Model View Controller,Checkbox,Label,最近几天,我一直在努力让我的javascript作品能够从javascript中访问多选复选框标签的值。我没有取得任何成功 当我们在表单中做一个复选框时,总是有一个值/标签对显示给我们,值隐藏在小正方形按钮中供我们单击,标签用于显示它是什么 但不幸的是,在HTML4.0.1和HTML5中,在复选框属性列表中,我们没有看到任何关于标签保存在复选框对象中的内容。这就是为什么我们不能从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}';修好了。希望对其他遇到类似问题的人有所帮助。干杯