簡體   English   中英

如何從復選框MVC Razor獲取已檢查項目

[英]How to get checked items from checklistbox MVC Razor

在div中,我在MVC Razor使用CheckBoxListFor獲得了一些CheckBoxList 我想按一下按鈕以選中所有復選框的所有值。 這個怎么做?

 <div class="col-md-4">
                <label for="" class="control-label">
                    Branch</label><br />
                @Html.CheckBoxListFor(m => m.SearchBranchSeq,MultiSelectList)Model.SearchBranches, new {@id="SearchBranches", @style = "overflow: auto; height: 100px; width: 250px; border: 1px solid #cccccc;" })

            </div>

我嘗試如下

var SearchBranchSeq = [];
    $('input:checkbox').click(function () {
      if ($(this).is(':checked')) {
            SearchBranchSeq.push($(this).val());
      }
      else {
            var x = SearchBranchSeq.valueOf($(this).val());
            SearchBranchSeq.splice(x, 1);

      }
  });

它正在工作,但是當我從CheckBoxList取消選中復選框時,無法刪除SearchBranchSeq中的值。 誰能幫助我找到解決方案?

您需要在數組上使用indexOf()而不是valueOf() 如鏈接中所述, indexOf()Internet Explorer 9+和其他現代瀏覽器中定義。

// IE Old
if (!Array.prototype.indexOf) {
    Array.prototype.indexOf = function(obj, start) {
        for (var i = (start || 0), j = this.length; i < j; i++) {
            if (this[i] === obj) { return i; }
        }
        return -1;
    }
}
// End IE Old - not needed if old IE is not supported

var x = SearchBranchSeq.indexOf($(this).val());
SearchBranchSeq.splice(x, 1);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM