【发布时间】:2011-03-10 06:31:25
【问题描述】:
我通过我的 php 代码生成了以下 html。
我想要做的是,当我选择跨度“行”中的复选框时,选择包含“行”的“main_row”跨度的复选框,
应该自动检查。
此外,当我取消选择“main_row”复选框时,应取消选择“row: 复选框中包含的所有内容。
为此,我可以使用 javascript 或 jquery。
<span id="mainTopHeading" >Imports & Exports</span>
<span id="lblmainTopHeading">Categories</span>
<span id="main_row" class="mystyleClass" >
<input type="checkbox" id="pH" curstomerName="Zubair & CO" recordID="1920" />
<span title="Zubair & CO" id="pHName">Zubair & CO</span>
<span title="Roland">Roland</span>
</span>
<span id="row" recordID="1920" curstomerName="Zubair & CO" >
<input type="checkbox" recordID="1920" curstomerName="Zubair & CO" />
<span>Order Rice & Sugar</span>
<span>Roland</span>
</span>
<span id="mainTopHeading" >Manufacturing</span>
<span id="lblmainTopHeading">Categories</span>
<span id="main_row" class="mystyleClass" >
<input type="checkbox" id="pH" curstomerName="Howard Manufacturing" recordID="1870" />
<span title="Howard Manufacturing" id="pHName">Howard Manufacturing</span>
<span title="Roland"> Roland</span>
</span>
<span id="row" index="1" recordID="1870" curstomerName="Howard Manufacturing" >
<input type="checkbox" style="left:10;" recordID="1870" curstomerName="Howard Manufacturing" />
<span>Order Tires and Plastic products</span>
<span>Roland</span>
</span>
<span id="row" index="1" recordID="1870" curstomerName="Howard Manufacturing" >
<input type="checkbox" style="left:10;" recordID="1870" curstomerName="Howard Manufacturing" />
<span>Order Electronics</span>
<span>Roland</span>
</span>
<span id="main_row" class="mystyleClass" >
<input type="checkbox" id="pH" curstomerName="James & Sons" recordID="1866" />
<span title="James & Sons" id="pHName">James & Sons</span>
<span title="Roland">Roland</span>
</span>
<span id="main_row" class="mystyleClass" >
<input type="checkbox" id="pH" curstomerName="Villa Thresa Inc" recordID="1866" />
<span title="Villa Thresa Inc" id="pHName">Villa Thresa Inc</span>
<span title="Roland">Roland</span>
</span>
<span id="main_row" class="mystyleClass" >
<input type="checkbox" id="pH" curstomerName="Bangkok Manufacturing" recordID="1866" />
<span title="Bangkok Manufacturing" id="pHName">Bangkok Manufacturing</span>
<span title="Roland">Roland</span>
</span>
<span id="row" recordID="1920" curstomerName="Zubair & CO" >
<input type="checkbox" recordID="1920" curstomerName="Zubair & CO" />
<span>Order Rice & Sugar</span>
<span>Roland</span>
</span>
<span id="mainTopHeading">Misc.</span>
<span id="lblmainTopHeading">Different things</span>
<span id="main_row" class="mystyleClass" >
<input type="checkbox" id="pH" curstomerName="Bangkok Manufacturing" recordID="1866" />
<span title="Bangkok Manufacturing" id="pHName">Bangkok Manufacturing</span>
<span title="Roland">Roland</span>
</span>
【问题讨论】:
-
您有多个具有相同 ID 的元素,例如
main_row和row。这是无效的,因为 ID 必须是唯一的,并且不能在同一页面上重复使用。这可能会导致问题。 -
此外,您的
<span>元素与rowID(应该是一个类)似乎没有包含在main_row中,正如您的问题所暗示的那样。 -
它们是通过 php 生成的,所以可能有几个实例。我可以添加一个 class="main_row" 和一个 class="row"。如果我这样做了,那我们该如何解决呢?谢谢
-
您的标记会遇到各种问题。如果你想要一个层次关系,你的标记元素应该以这种方式布局,否则,你会给自己带来不必要的麻烦。如果您将行跨度嵌套在 main_row 跨度内,那么您的问题就有一个非常简单的答案。另外,如果您可以更改/向元素添加一个类,您应该可以更改 id 对吗?
标签: javascript jquery javascript-events