选中切换并检查默认值

时间:2011-07-21 14:56:10

标签: javascript jquery jquery-selectors

任何人都有更好的方法来编写这个jquery方法。如果用户访问该页面并选中该复选框,则显示else hide,但如果用户单击该复选框,则显示。

$('#rush').is(':checked') ? $("#rushJustificationContainer").show() : $("#rushJustificationContainer").hide();

$('#rush').click(function() {
    $("#rushJustificationContainer").toggle(this.checked);
});

4 个答案:

答案 0 :(得分:1)

试试这个

function Toggle(o, toggle){
 o.toggle(toggle);
}

document.ready(function(){
  Toggle($("#rushJustificationContainer", $('#rush').checked); 
});

$('#rush').click(function(){
 Toggle($("#rushJustificationContainer", this.checked); 
});

答案 1 :(得分:1)

使用此

document.ready(function(){
    myToggle($('#rush').is(':checked'));
}

$('#rush').click(function(){
    myToggle(this.checked);
}

function myToggle(isChecked) {
    if(isChecked) {
        $("#rushJustificationContainer").show();
    } else {
        $("#rushJustificationContainer").hide();
    }
}

答案 2 :(得分:0)

试试这个

    $(function(){

      $("#rushJustificationContainer").css({display:$('#rush').is(':checked')?"block":"none"}); 

      $('#rush').click(function() {
          $("#rushJustificationContainer").toggle();
      });


    });

答案 3 :(得分:0)

问题代码非常适合一次性使用;到目前为止,我更喜欢它的替代品。

$('#rush')[0].checked ? $("#rushJustificationContainer").show() : $("#rushJustificationContainer").hide();

while:

$("#rushJustificationContainer").toggle ( $('#rush').is (':checked') );
滚动条上的

可能更容易。 :)

~~~

唯一的另一件事是,如果你不止一次做这种事,那就干嘛。

function activateCB_toDivControl (cbID, nodeID) {
    $('#' + nodeID).toggle ( document.getElementById (cbID).checked );

    $('#' + cbID).click (function (e) {
        $('#' + nodeID).toggle (e.currentTarget.checked);
    } );
}

这样打电话:

activateCB_toDivControl ('rush', 'rushJustificationContainer');
activateCB_toDivControl ('COD',  'likeHellContainer');