用户必须选中至少一个复选框,选中复选框后,我想从所有复选框中删除required
,然后如果用户取消选中,则不选中任何复选框,重新输入{{1在他们身上
我的代码不起作用。我在这里找到了很多类似的答案,但它们都不适合我,所以我再次提出这个问题。
这是jsFiddle
required

var checkbox_required = $('input[type="checkbox"]');
checkbox_required.prop('required', true);
if (checkbox_required.is(':checked'))
{
checkbox_required.prop('required', false);
}
else
{
checkbox_required.prop('required', true);
}

答案 0 :(得分:2)
您忘记的是添加on('click', ...
事件处理程序https://jsfiddle.net/nba_jl/k94stpby/12/
var checkbox_required = $('input[type="checkbox"]');
checkbox_required.prop('required', true);
checkbox_required.on('click', function(){
if (checkbox_required.is(':checked')) {
checkbox_required.prop('required', false);
} else {
checkbox_required.prop('required', true);
}
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<label class="produit_type">
<input type="checkbox" name="produit_type[]" value="奢侈品与配饰">奢侈品与配饰
</label>
<label class="produit_type">
<input type="checkbox" name="produit_type[]" value="女士时尚">女士时尚
</label>
<label class="produit_type">
<input type="checkbox" name="produit_type[]" value="男士时尚">男士时尚
</label>
<label class="produit_type">
<input type="checkbox" name="produit_type[]" value="美妆与护肤">美妆与护肤
</label>
<label class="produit_type">
<input type="checkbox" name="produit_type[]" value="儿童">儿童
</label>
<label class="produit_type">
<input type="checkbox" name="produit_type[]" value="内衣">内衣
</label>
<label class="produit_type">
<input type="checkbox" name="produit_type[]" value="家居">家居
</label>
<input type="submit" value="submit">
</form>
&#13;
答案 1 :(得分:0)
出于好奇,我知道这是一个旧线程,但是如果您有两组不同的复选框,并且仅在为每组选中一个复选框的情况下才需要删除必需项,那么该怎么做。
<form>
<label class="produit_type">
<input type="checkbox" name="produit_type[]" value="blah"
</label>
<label class="produit_type">
<input type="checkbox" name="produit_type[]" value="blah blah"
</label>
<label class="produit_type">
<input type="checkbox" name="produit_color[]" value="red"
</label>
<label class="produit_type">
<input type="checkbox" name="produit_color[]" value="green"
</label>
<input type="submit" value="submit">
</form>
只需保持表格简单即可。因此,有2套复选框,其中一种用于类型,另一种用于颜色。提供的代码将要求全部或全部不要求。一个人将如何修改此代码,以使其仅影响每个集合本身?
例如,如果他们选择类型而不选择颜色,它将删除类型上必填但保留颜色上必填,反之亦然?
答案 2 :(得分:0)
var checkbox_required = $('input[type="checkbox"]');
checkbox_required.attr('required', true);
checkbox_required.on('click', function(){
if (checkbox_required.is(':checked')) {
checkbox_required.attr('required', false);
} else {
checkbox_required.attr('required', true);
}
});