Javascript 通过单击框1更改框2中的值

Javascript 通过单击框1更改框2中的值,javascript,php,jquery,checkbox,Javascript,Php,Jquery,Checkbox,我需要您的帮助,我正在寻找以下解决方案: 有一个表单有几个复选框,但其中只有4个是重要的。下面是来自此4的html代码: <input name="opt[pool]" id="opt_pool" type="checkbox" class="searchval" value="1" onclick="submit_search()">Pool <input name="opt[ppool]" id="opt_ppool" type="checkbox" class="sear

我需要您的帮助,我正在寻找以下解决方案: 有一个表单有几个复选框,但其中只有4个是重要的。下面是来自此4的html代码:

<input name="opt[pool]" id="opt_pool" type="checkbox" class="searchval" value="1" onclick="submit_search()">Pool
<input name="opt[ppool]" id="opt_ppool" type="checkbox" class="searchval" value="1" onclick="submit_search()">PPool

<input name="opt[internet]" id="opt_internet" type="checkbox" class="searchval" value="1" onclick="submit_search()">Internet
<input name="opt[internetw]" id="opt_internetw" type="checkbox" class="searchval" value="1" onclick="submit_search()">InternetW
现在我想进行干预-当单击pool时,使用val=1对其进行检查,使用val=0对ppool进行取消检查。当点击ppool时,则相反,当val=1选中htis,val=0选中pool。 这适用于我的代码:

var boxesP = $('#opt_pool,#opt_ppool').click(function(){
    boxesP.not(this).prop('checked', false);
    $("#opt_pool").val( $("#opt_pool")[0].checked ? "0" : "1" );
    $("#opt_ppool").val( $("#opt_ppool")[0].checked ? "0" : "1" );
});
但问题是,当我单击其他复选框时,val=1的选中池保持选中状态,但val=0。
我的错在哪里?谢谢。

我注意到您有一个现有的onClick函数。你喜欢这个工作吗

<input name="opt[pool]" id="opt_pool" type="checkbox" class="searchval" value="0" onclick="submit_search(this)">Pool
<input name="opt[ppool]" id="opt_ppool" type="checkbox" class="searchval" value="0" onclick="submit_search(this)">PPool
submit_search = function(e){
        if($(e).attr('checked') == 'checked'){
            $('.searchval').attr('checked',null);
            $('.searchval').val(0);
            $(e).attr('checked','checked');
            $(e).val(1);
        }else{
            $(e).val(0);
        }
    }
池
PPool
提交搜索=功能(e){
如果($(e).attr('checked')=='checked'){
$('.searchval').attr('checked',null);
$('.searchval').val(0);
$(e).attr('checked','checked');
$(e).val(1);
}否则{
$(e).val(0);
}
}

使用道具$(“#选择池”).prop(‘选中’,$(“#选择池”)[0]。选中?false:true);顺便说一句,避免ID的使用类。@user2330678或just
$(“#opt_pool”).prop('checked',!$(“#opt_pool”)[0]。选中)谢谢你的时间,但是他们不是我想要的那样工作。您已将我的代码更改为var boxesP=$(“#opt_-pool,#opt_-ppool”)。单击(函数(){boxesP.not(this).prop('checked',false);$(“#opt_-pool”)。prop('checked',!$(“#opt#-ppool”)[0]。checked);$(“#opt#ppool”)。prop;不,因为当我点击pool时并没有未选中的ppool,我想更确切地解释一下我想做什么:若点击pool,pool将被选中。当我再次点击Pool时,Pool应该被取消选中。然后y单击ppool,如果选中了pool,则必须取消选中。相反,如果ppool被选中,我单击pool,我希望ppool被取消选中。我希望我不会与我糟糕的英语相混淆;)但同样重要的是,当选中一个框时,val=1,如果未选中,则更改val=0。有人能帮我给出正确的提示吗?谢谢
<input name="opt[pool]" id="opt_pool" type="checkbox" class="searchval" value="0" onclick="submit_search(this)">Pool
<input name="opt[ppool]" id="opt_ppool" type="checkbox" class="searchval" value="0" onclick="submit_search(this)">PPool
submit_search = function(e){
        if($(e).attr('checked') == 'checked'){
            $('.searchval').attr('checked',null);
            $('.searchval').val(0);
            $(e).attr('checked','checked');
            $(e).val(1);
        }else{
            $(e).val(0);
        }
    }