动态客户端脚本

发布于 2024-07-06 14:47:58 字数 108 浏览 12 评论 0原文

我需要写一个java脚本。 这应该验证页面中是否选中了该复选框。 这里的问题是复选框位于网格内并且是动态生成的。 原因是在设计时不知道需要渲染的复选框的数量。 所以这个id只有在服务器端才知道。

I need to write a java script. This is supposed to validate if the checkbox is selected in the page or not. The problem here is that the check box is inside a grid and is generated dynamically. The reason being the number of check box that need to be rendered is not know at design time. So the id is know only at the server side.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

第几種人 2024-07-13 14:47:58

这里有一个想法:

正如 Anonymous 所指出的,您可以生成 javascript,如果您使用 ASP.NET,您可以使用 RegisterClientScriptBlock() 方法获得一些帮助。 MSDN 关于注入客户端脚本

您还可以编写或生成,一个 JavaScript 函数,它接受复选框作为参数,并将 onClick 属性添加到调用您的函数并将其自身作为参数传递的复选框定义中

function TrackMyCheckbox(ck)
{
     //keep track of state
}

<input type="checkbox" onClick="TrackMyCheckbox(this);".... />

Here is a thought:

As indicated by Anonymous you can generate javascript, if you are in ASP.NET you have some help with the RegisterClientScriptBlock() method. MSDN on Injecting Client Side Script

Also you could write, or generate, a javascript function that takes in a checkbox as a parameter and add an onClick attribute to your checkbox definition that calls your function and passes itself as the parameter

function TrackMyCheckbox(ck)
{
     //keep track of state
}

<input type="checkbox" onClick="TrackMyCheckbox(this);".... />
一刻暧昧 2024-07-13 14:47:58

您还必须生成您的 javascript,或者至少生成一个 javascript 数据结构(数组),其中必须包含您应该控制的复选框。

或者,您可以创建一个包含元素,并在复选框类型的每个子输入元素上使用 js 循环。

You have to generate your javascript too, or at least a javascript data structure (array) wich must contain the checkboxes you should control.

Alternatively you can create a containing element, and cycle with js on every child input element of type checkbox.

躲猫猫 2024-07-13 14:47:58

如果它是您唯一的复选框,您可以执行 getElementsByTagName() 调用来获取所有输入,然后迭代返回的数组以查找适当的类型值(即复选框)。

If it's your only checkbox you can do a getElementsByTagName() call to get all inputs and then iterate through the returned array looking for the appropriate type value (i.e. checkbox).

执手闯天涯 2024-07-13 14:47:58

问题里没有太多细节。 但假设 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>

There is not much detail in the question. But assuming the the HTML grid is generated on the server side (not in javascript).

Then add classes to the checkboxes you want to ensure are checked. And loop through the DOM looking for all checkboxes with that class. In 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>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文