如何在选择的第n个子集内验证唯一选择
How would I validate unique selects, within nth sub sets of selects?
我有这段动态生成的代码。
<p>
Class Choices 1 </br>
<select name="1_option_1">
<option value=4>2x3 Study Time</option>
<option value=5>2x3 Science Time</option>
<option value=6>2x3 Math Time</option>
</select>
choice 1 </br>
<select name="2_option_1">
<option value=4>2x3 Study Time</option>
<option value=5>2x3 Science Time</option>
<option value=6>2x3 Math Time</option>
</select>
choice 2 </br>
<select name="3_option_1">
<option value=4>2x3 Study Time</option>
<option value=5>2x3 Science Time</option>
<option value=6>2x3 Math Time</option>
</select>
choice 3 </br>
</p>
<p>
Class Choices 2 </br>
<select name="1_option_2">
<option value=1>2x3 Knitting</option>
<option value=2>2x3 Computers</option>
<option value=3>2x3 Having Fun</option>
</select>
choice 1 </br>
<select name="2_option_2">
<option value=1>2x3 Knitting</option>
<option value=2>2x3 Computers</option>
<option value=3>2x3 Having Fun</option>
</select>
choice 2 </br>
<select name="3_option_2">
<option value=1>2x3 Knitting</option>
<option value=2>2x3 Computers</option>
<option value=3>2x3 Having Fun</option>
</select>
choice 3 </br>
</p>
上面的代码遵循这些规则。
For all (n) Class Choices (block?)
- 如果一个类选择(block?)有2个类,则生成两个选择选项选择。
- 如果一个类选择(block?)有3个类,则生成3个选择选项选择。
- …
- 如果一个类选择(block?)有n个类,则生成第n个选择选项。
注意,我生成唯一选择名的目的是使查找唯一集更容易。如果不是这样,我可以将给定的名称更改为更统一的名称。此外,我还可以根据需要添加类名或其他属性。我是新的html和脚本,所以我做了很多猜测的工作。
对脚本语言没有要求。
我如何验证唯一选择,在第n个子集的选择?也就是说,对于每个Choice块,为选项强制惟一的值。
例如:拒绝输入
Class Choices 1 != 4,4,4
Class Choices 1 != 4,4,5
Class Choices 1 != 4,4,6
...
Class Choices 1 != 5,5,5
Class Choices 1 != 5,4,4
Class Choices 1 != 5,6,6
...
Class Choices 1 != 6,6,6
Class Choices 1 != 6,6,5
Class Choices 1 != 6,4,4
...
对于任何重复项
接受输入
Class Choices 1 == 4,5,6
Class Choices 1 == 5,6,4
Class Choices 1 == 6,5,4
...
验证的范围应该与类选择相关。那就是选择一,选择二,…类选择N
解决这个任务的要点如下:
$(function(){
$('select').change(function(){
var enabled = [];
$('.group').each(function(){
var values = [];
$(this).children('select').each(function(){
var value = $(this).find(":selected").val();
// fills the enabled array with true or false depending if the value is unique to the group;
enabled.push(areWeSpecialYet(values, value));
values.push(value);
});
});
// enables the button if all are unique.
enableTheButton(enabled);
});
});
如果你感兴趣,你可以查看这里的工作示例,它将与任何数量的组或选项一起工作:
<<h2> JSBin例子/h2>相关文章:
- 下拉选择可自动更改第二个下拉选择
- 如何使用jQuery选择下拉列表的值
- jquery点击函数select&取消选择
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 按照选项卡索引的顺序循环一个jQuery选择
- 在动态创建的元素上获取对特定选择器的引用
- AngularJS-在JSON选择器中使用变量名
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 获取选择框的状态
- 使用 D3 选择圆的子集
- 在 JQuery 中,如何将选择选项的子集从一个选择菜单复制到另一个选择菜单
- 我如何创建一个函数来选择一组复选框的子集
- 从 javascript 对象数组中选择对象的子集
- 对象数组-选择数组子集,其中对象属性为值数组
- 如何在选择的第n个子集内验证唯一选择
- 在三个大型数据库中选择一个数据子集
- NoSQL数据结构选择字段子集与Firebase和查询
- AngularJS:两次选择,第二次选择的选项应该是第一次选择的子集
- 选择函数的子集作为字符串并计算
- 选择JSON对象的子集&计数