这个jQuery代码不应该返回 #product-create-2中的所有输入吗?
Shouldn't this jQuery code return all inputs inside #product-create-2?
我有这个 HTML:
<fieldset style="display: block;" title="Producto" class="fstep" id="product-create-step-2">
<section>
<div class="p_name">
<input type="text" maxlength="50" required="required" name="product[name]" id="product_name">
</div>
<div class="p_description">
<textarea required="required" name="product[description]" id="product_description"></textarea>
</div>
<div class="p_age">
<input type="text" value="0" name="product[age_limit]" id="product_age_limit">
</div>
</section>
</fieldset>
我正在尝试为每个元素显示警报,其中包含空值required="required"
,所以我做了这个:
$('#product-create-step-2 > input[required="required"]').each(function() {
if (!$.trim(this.value).length) {
alert($(this).prev('label').text() + ' can't be empty!!!');
valid = false;
}
});
如果我离开#product_name
或#product_description
空,它永远不会显示警报,我找不到我错过的东西,有什么建议吗?
>
用于选择直系后代。
你想要这个:
$('#product-create-step-2 input[required="required"]')
它将在#product-create-step-2
中找到所有匹配的输入,无论嵌套有多深。
此外,这将导致语法错误:
' can't be empty!!!'
您需要转义单引号或切换引号:
' can''t be empty!!!'
或(我的偏好):
"can't be empty"
您的元素不是#product-create-step-2
的直接子元素,因此不应包含>
。 只需在两个选择器之间留出一个空格,您就可以获得#product-create-step-2
内任何位置的所有元素。
$('#product-create-step-2 input[required="required"]')
第一个选择器正下方没有输入。
尝试将选择器更改为:
$('#product-create-step-2 > section > div > input[required="required"]')
甚至只是
$('#product-create-step-2 input[required="required"]')
不,更仔细地查看 DOM,查询应该是:
$('#product-create-step-2 input[required="required"]').each ...
或:
$('#product-create-step-2 > section > div > input[required="required"]').each ...
因为>
选择的元素是父级的直接子级。
相关文章:
- 访问代码生成的输入元素上的keyup事件
- 是否有一种方法可以使用公共代码库在Java和JavaScript中进行输入验证
- 如何在为表单输入分别处理$(this)和$时编写DRY代码
- 那里的维基媒体代码是如何输入焦点的
- 调整从选择输入中获取数据并将其放入 DIV 的 jQuery 代码
- 在 JavaScript 中单击函数时两个日期类型输入之间的差异的代码
- image.link请帮我输入代码
- 输入字段验证的键代码函数在chrome中没有按预期工作
- 值首先发布,然后只有它完成输入(如果单击).向后需要(代码是corect)
- 如何使用表单输入更新代码
- 在Eclipse中输入分号或大括号时自动格式化代码
- VAlue未应用于使用Jquery代码的输入
- 我需要让用户输入他的出生日期,并使用javascript检查其形式是否正确.我的代码不起作用
- AJAX:结合上传文件和文本输入代码
- 我想在加载时运行这个 jquery,而不是它的样子,我应该如何输入代码
- 如何使用javascript更改此输入代码的值
- 输入代码,当用户按Enter键时更改显示价格
- 将文本字段限制为一个小数点输入(代码适用于Safari,但不适用于Firefox)
- 在TinyMCE文本区输入代码中找到iframe
- 这个Angular-ui提前输入代码有什么问题?