我需要写一个java脚本。这应该验证是否在页面中选中了复选框。这里的问题是复选框在网格内并且是动态生成的。原因是在设计时不知道需要呈现的复选框的数量。所以 id 只在服务器端知道。
问问题
262 次
4 回答
1
您也必须生成您的 javascript,或者至少一个 javascript 数据结构(数组)必须包含您应该控制的复选框。
或者,您可以创建一个包含元素,并在每个复选框类型的子输入元素上使用 js 循环。
于 2008-09-23T08:27:23.167 回答
1
这是一个想法:
正如 Anonymous 所指出的,您可以生成 javascript,如果您在 ASP.NET 中,您可以使用 RegisterClientScriptBlock() 方法获得一些帮助。MSDN 关于注入客户端脚本
您还可以编写或生成一个 javascript 函数,该函数将复选框作为参数,并将 onClick 属性添加到调用您的函数并将自身作为参数传递的复选框定义中
function TrackMyCheckbox(ck)
{
//keep track of state
}
<input type="checkbox" onClick="TrackMyCheckbox(this);".... />
于 2008-09-23T08:45:26.943 回答
0
如果这是您唯一的复选框,您可以调用 getElementsByTagName() 来获取所有输入,然后遍历返回的数组以查找适当的类型值(即复选框)。
于 2008-09-23T08:27:16.567 回答
0
问题没有太多细节。但假设 HTML 网格是在服务器端生成的(不是在 javascript 中)。
然后将类添加到您要确保选中的复选框。并在 DOM 中循环查找具有该类的所有复选框。在jQuery中:
HTML:
<html>
...
<div id="grid">
<input type="checkbox" id="checkbox1" class="must-be-checked" />
<input type="checkbox" id="checkbox2" class="not-validated" />
<input type="checkbox" id="checkbox3" class="must-be-checked" />
...
<input type="checkbox" id="checkboxN" class="must-be-checked" />
</div>
...
</html>
Javascript:
<script type="text/javascript">
// This will show an alert if any checkboxes with the class 'must-be-checked'
// are not checked.
// Checkboxes with any other class (or no class) are ignored
if ($('#grid .must-be-checked:not(:checked)').length > 0) {
alert('some checkboxes not checked!');
}
</script>
于 2008-09-23T12:38:02.953 回答