如何在第n个子选择集中验证唯一选择?

时间:2016-11-10 18:26:56

标签: javascript html

我有这个动态生成的代码。

    SELECT table_name
FROM INFORMATION_SCHEMA.columns c
WHERE NOT EXISTS (
        SELECT table_name
        FROM INFORMATION_SCHEMA.columns cc
        WHERE cc.table_name = c.table_name
            AND cc.column_name = 'Branch_id'
        )

以上代码遵循这些规则。

对于所有(第n)类选择(阻止?)

  • 如果类选择(块?)有2个类,则生成两个选项选项。
  • 如果类选择(块?)有3个类,则生成三个选项选项。
  • ...
  • 如果类选择(块?)有n个类,则生成第N个选项选项。

注意我生成了唯一的选择名称,目的是使查找唯一集更容易。如果不是这种情况,我可以改变给定的更多穿制服的名字。此外,我可以根据需要添加类名或其他属性。我是html和脚本的新手,所以我做了大量的猜测工作。

对脚本语言没有要求。

如何在第n个子选择集中验证唯一选择? 也就是说,对于每个Choice块,强制选项的唯一值。

例如:

拒绝输入

<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>

任何重复

接受的输入

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 Choice 1,Class Choice 2,...... Class Choice N

1 个答案:

答案 0 :(得分:1)

这是解决这项任务的要点。

$(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);
  });
});

如果您有兴趣可以查看这里的工作示例,它可以使用任意数量的组或选项:

JSBin example