javascript - div 在用户操作时更改其内容后的 Click 和 If 函数

标签 javascript jquery

我有这个标记:

<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/

相关文章:

javascript - 更简洁的方式来引用选择器名称

javascript - 如何查找在模式输入中键入的值并在按下回车键时更改另一个输入的值

Javascript - id 是时间戳,如果超过 10 个则删除最旧的

jquery show hide 未按预期工作

javascript - 多个div的非对称悬停结构

javascript - "If"语句单击按钮后如何检查是否选中了多个复选框?

javascript - 拖动或编辑,只需单击一下?

javascript - 如何使用 pubnub 获取活跃订阅者列表

jquery - CSS 中的 DIV onClick

javascript - 禁用 Enter 提交表单