JQuery选择必填字段

时间:2015-03-07 21:29:05

标签: jquery jquery-selectors

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

这是HTML-Part:

<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-Part。 :

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

无论如何,在调试过程中,虽然没有输入任何字段,但我发现它甚至没有选择一个字段...

非常感谢您的帮助和建议。 斯特芬

2 个答案:

答案 0 :(得分:0)

问题解决了。解决方案是:.filter(&#34; [required =&#39; required&#39;]&#34; -

答案 1 :(得分:0)

你可以这样做:

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

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

jsFiddle for reference