如何清除以前检查的值

时间:2014-08-31 13:25:14

标签: javascript jquery

我将选中的值传递给jquery的jquery,并传递给下一页的url,这就是我的复选框的样子:

<label class="checkbox">
    <input  type="checkbox" value="male" id="gender" name="gender"  /> Male
</label>
<label class="checkbox" style="margin:-25px 0 0 100px">
    <input type="checkbox" value="female"  id="gender" name="gender" /> Female
</label>

<label class="checkbox" style="margin:-20px 0 0 205px">
    <input checked type="checkbox" value="all" id="gender" name="gender"> All
</label>   

我的jquery:

var gender = $('input[name=gender]:checked').map(function(){
    return $(this).val();
}).get();
alert(gender);

我的问题是例如:

当我选择性别男性时,它会传递给jquery作为'male,'但我的问题就在这里,当我取消选中男性并检查女性然后它传递给jquery为female,male,它没有传递值现在被选中它正在传递值与前一个值,任何人都可以指导我如何解决这个问题。

2 个答案:

答案 0 :(得分:1)

使用jQuery更改事件如下

$('input[name=gender]').on('change',function(){
    var gender = $('input[name=gender]:checked').map(function(){
        return $(this).val();
    }).get();
    alert(gender);
});

<强> DEMO

答案 1 :(得分:0)

首先:id必须是唯一的,只要有两个具有相同id的元素(如“gender”),结果就是随机的。

并且:使用单选按钮,你完成了任何JS或jQuery:

<label class="checkbox">
    <input  type="radio" value="male" id="gender_m" name="gender"  /> Male
</label>
<label class="checkbox" style="margin:-25px 0 0 100px">
    <input type="radio" value="female"  id="gender_f" name="gender" /> Female
</label>

<label class="checkbox" style="margin:-20px 0 0 205px">
    <input checked type="radio" value="all" id="gender_a" name="gender"> All
</label>

如果您希望收音机看起来像复选框,请参阅this post