作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个标记:
<button id="drop_group_2" data-toggle="dropdown" href="#">
<span>Select size</span></button>
<button type="submit" name="Submit" class="exclusive">
<span>Add to cart</span>
</button>
问题是,如果未选择尺寸,我想阻止用户提交,所以我这样做了:
$('button.exclusive').on('click', function(){
if ($('#drop_group_2:has(span)')) {
alert('You must select size');
return false;
}
});
效果很好,但在用户选择大小后,drop_group_2
会删除跨度并获取数字大小:
<button id="drop_group_2" data-toggle="dropdown" href="#">42</button>
但是,如果用户再次单击提交
,则会再次出现警报,但它永远不会消失。如果用户选择了尺寸(span
被删除)然后让用户提交它,我该怎么做?
最佳答案
您应该检查匹配元素的长度,如下所示:
$('button.exclusive').on('click', function(){
if ($('#drop_group_2:has(span)').length) {
alert('You must select size');
return false;
}
});
否则它将始终返回 true。
关于javascript - div 在用户操作时更改其内容后的 Click 和 If 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26636571/
我是一名优秀的程序员,十分优秀!