2016-09-27 19 views
0

私はカミソリやHTMLで次のコードがあります。Razor、HTML、jQuery:すべてのチェックボックスをオン/オフにする方法は?

@:<td> 
      <input class="privcheck" 
       type="checkbox" 
       name="selectedPrivileges" 
       value="@priv.PrivilegeID" 
      @(Html.Raw(priv.Assigned ? "checked=\"checked\"" : "")) /> 
      @priv.PrivilegeName 

    @:</td> 

<button id="checkallprivs"> 
    Select All 
</button> 

<button id="uncheckallprivs"> 
    Deselect All 
</button> 

そして次jQueryの:私はボタン "すべて選択" をクリックすると

$("#checkallprivs").button(); 
$("#uncheckallprivs").button(); 

$(document).on("click", "#checkallprivs", function (event) { 
        event.preventDefault(); 
        $('.privcheck:checkbox').attr('checked', 'checked'); 

       }); 

$(document).on("click", "#uncheckallprivs", function (event) { 
        event.preventDefault(); 
        $('.privcheck:checkbox').removeAttr('checked'); 
       }); 

、それはすべてのボックスをチェックします。その後、「すべて選択解除」をクリックすると、すべてのチェックボックスのチェックが外されます。しかし、問題は、Deselctボタンをクリックすると、Select Allボタンはクリックされても何もしないことです。期待される行動をどうやって得ることができますか?

ありがとうございます。

+1

attr()の使用 '.propを使用することをお勧めしこれは、おかげで働いていた代わりにremoveAttr(..)' – Vijai

+0

@Vijaiのおかげ.. – ITWorker

答えて

1

私はprop()代わり

$(document).on("click", "#checkallprivs", function (event) { 
    event.preventDefault(); 
    $('.privcheck:checkbox').prop('checked', true); 

}); 

$(document).on("click", "#uncheckallprivs", function (event) { 
    event.preventDefault(); 
    $('.privcheck:checkbox').prop('checked', false); 
}); 
+0

'の'( 'チェックした' 偽) 。 – ITWorker

関連する問題