在我的web应用程序中,我选中了一组复选框,在它们上面填充一个文本框(如果选中了多个复选框,则它们的值出现在用逗号分隔的文本框中) 。Javascript - 用复选框填充文本框的值
这些复选框在我的HTML表格中显示为行。
这是我的HTML代码。
<input type="text" id="newContactComment<%=rCount %>" name="newContactComment" size="45">
<input type="checkbox" id="commentText<%=rCount %>" name="commentText" value="<%=c.getComment_text() %>"
onclick="javascript:updateTextArea(<%=rCount%>);">
和相应的JS功能如下:
function updateTextArea(rCount) {
var allVals = new Array();
$("#contactInfo input['commentText' + rCount]:checked").each(function() {
(allVals).push($(this).val());
});
$("#newContactComment" + rCount).val(allVals);
}
在上述功能的RCOUNT变量是我的表的行#。 使用这个以上,我没有得到预期的行为..
例如。如果我的表的第1行,我检查chkbox 1和2,它正确填充这些复选框的值。现在,对于我的表格中的2个,我只检查chkbox 3,它将填充1,2和3的值,而不是像我预期的那样填充3。
任何帮助将不胜感激。
@TemEllis:嗨,谢谢你的回复。 但是,当我尝试上面的代码,我在Firebug中得到'parID是未定义的'错误消息。 – Pritish 2010-07-29 19:16:42
更新了它。试试看。 – 2010-07-29 19:25:50
那么,这个代码看起来不错,直到第二个最后一行即
$("#newContactComment" + rCount).val(allVals);
正如你已经改变RCOUNT的值,这是不太写入checkboxes.But以上文本框中我试着打印出allVals()阵列,我可以在数组中看到正确的值。 我应该将其更改为$(“#newContactComment”+ parID).val(allVals);反而?? – Pritish 2010-07-29 19:43:45