【问题标题】:JQuery Selection of required fieldsJQuery 选择必填字段
【发布时间】:2015-03-07 21:29:04
【问题描述】:

我试图弄清楚为什么我的 jquery 选择不起作用,但我尝试了几件事,但无法让它运行。希望您能给我一个提示:

这是 HTML 部分:

<div id="collapseOne" class="panel-collapse collapse in">
    <!--CONTACT FORM-->
    <div class="row">
        <div class="col-md-6 col-sm-12 left">
            <label>Company</label>
            <input type="text" id="smpcheckout_customer_company" name="smpcheckout[customer][company]" class="form-control not-removable" />
        </div>
        <div class="col-md-6 col-sm-12 left">
            <label>&nbsp;</label>
            <div class="input">
                <input name="title" type="radio" value="mr">
                <label>Mr</label>
                <input name="title" type="radio" value="mrs">
                <label>Mrs</label>
            </div>
        </div>
    </div>
    <div class="row">
        <div class="col-md-6 col-sm-12">
            <label>First Name*</label>
            <input type="text" id="smpcheckout_customer_first_name" name="smpcheckout[customer][first_name]" required="required" class=" not-removable" />
        </div>

这是 JS 部分。 :

$("#buttonone").click(function () {
  $('#collapseOne').find('input').filter('[required]').each(function () {
    if (!$(this).val().length) { //works only for text
      $(this).parent.prepend("<strong>Please fill out this field</strong>");

无论如何,在调试时,我发现它甚至没有选择一个字段,尽管没有输入任何内容...

非常感谢您的帮助和建议。 史蒂芬

【问题讨论】:

  • parent 是一种方法。你错过了()
  • 亲爱的 Vohuman。感谢您的提示,我对此进行了相应的更改。这绝对是正确的,但不是问题的原因,因为它没有选择任何东西。你有别的想法吗?谢谢!
  • 你能提供一个重现问题的jsfiddle吗?
  • 亲爱的 Vohuman。问题解决了。解决方案是: .filter("[required='required']"
  • 好吧,如果.filter("[required='required']") 有效,那么.filter("[required]") 也应该有效。后者选择具有指定属性的元素。

标签: jquery jquery-selectors


【解决方案1】:

问题解决了。解决方案是:.filter("[required='required']" –

【讨论】:

    【解决方案2】:

    你可以这样做:

    $("#buttonone").click(function () {
        $("#collapseOne input[required]").each(function () {
            if (!$(this).val().length) { //works only for text
                $(this).parent().append("<strong>Please fill out this field</strong>");
            }
        });
    });
    

    值得注意的是,您可以使用#collapseOne input[required] 来选择required,而不是查找和过滤。

    jsFiddle for reference

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-10
      • 1970-01-01
      • 2020-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多