【发布时间】: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> </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]")也应该有效。后者选择具有指定属性的元素。