【问题标题】:jQuery validation plugin & select elementjQuery 验证插件和选择元素
【发布时间】:2011-04-20 12:55:07
【问题描述】:

我使用来自here 的 jQuery 验证插件。有没有办法检查该字段是否不等于某个字符串? 我有一个看起来像这样的选择元素:

<select id="school_admin" name="school">
   <option value="selector">Select...</option>
   <option value="UDSM">University of Dar Es Salaam</option>
   <option value="ARU">Ardhi University</option>
   <option value="IFM">Institute of Finance Management</option>
</select>

如您所见,第一个选项是“选择...”,我需要在提交时检查它不是设置为第一个项目,而是设置为另一个实际选项。我怎样才能快速做到这一点?

【问题讨论】:

    标签: javascript jquery forms jquery-validate


    【解决方案1】:

    对您的选择进行编码的更好方法可能是使用optgroup:

    <select id="school_admin" name="school">
        <optgroup label="Select a school...">
            <option value="selector">Select...</option>
            <option value="UDSM">University of Dar Es Salaam</option>
            <option value="ARU">Ardhi University</option>
            <option value="IFM">Institute of Finance Management</option>
        </optgroup>
    </select>
    

    “选择”标签则不可选择。

    http://reference.sitepoint.com/html/optgroup

    【讨论】:

    • 我认为这是一个很好的解决方案,我无疑会在另一个应用程序中使用它,但我需要使第一项可见,而不是学校列表中的第一项。谢谢!
    【解决方案2】:

    为什么不直接将默认选项值更改为空白,并通过在 select 上声明一个 required 类来利用元数据支持。这是demo

    【讨论】:

      【解决方案3】:
      if($("#item").html() != "string" ) 
      

      【讨论】:

        【解决方案4】:

        我建议您将 Select... 的值留空 value="" 然后简单地

        if ( ( sel = $('#school_admin').val() ).length ) { ... }
        else { .. }
        

        从未使用过实际的插件,因此您应该能够使用它自己的 api 使其工作

        【讨论】:

          【解决方案5】:

          检查选择元素的值,看它是否与第一个匹配。

          if ($('#school_admin').val() != 'selector') {
              //Doesn't equal the first one, do your thing
          }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2016-02-24
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2023-03-12
            • 1970-01-01
            相关资源
            最近更新 更多