0

Iam新手與基因敲除js。我需要將複選框從asp.net mvc cshtml中檢查值傳遞給JavaScript使用淘汰賽js。下面是綁定的值AllAttrList如下需要通過knockout.js將檢查過的複選框值傳遞給javascript

self.AllAttrList = ko.observableArray([ 
      { QuestionId: 1, QuestionText: "atr1", IsAssocToEngg: true, IsMandatory: true }, 
      { QuestionId: 2, QuestionText: "atr2", IsAssocToEngg: true, IsMandatory: false }, 
      { QuestionId: 3, QuestionText: "atr3", IsAssocToEngg: false, IsMandatory: true }, 
      { QuestionId: 4, QuestionText: "atr4", IsAssocToEngg: false, IsMandatory: false }, 
      { QuestionId: 5, QuestionText: "atr5", IsAssocToEngg: false, IsMandatory: false }, 
      { QuestionId: 6, QuestionText: "atr6", IsAssocToEngg: false, IsMandatory: false }, 
      { QuestionId: 7, QuestionText: "atr7", IsAssocToEngg: false, IsMandatory: false }, 
      ]); 

IAM獲得代碼

<tbody data-bind='foreach: AllAttrList'> 
         <tr id="trAttributeEditInd"> 
          <td style="display: none;"> 
           <span id="spnAttrId" data-bind="text: QuestionId"></span> 
          </td> 
          <td style="text-align: left;"> 
           <input type="checkbox" id="chkAttrName" style="margin-right: 20px" data-bind="enable:!IsMandatory,checked:IsAssocToEngg && !IsMandatory" /> 
           <span id="spnAttrNmInd" data-bind="text: QuestionText"></span> 
          </td> 

          <td> 
          </td> 
         </tr> 
        </tbody> 

,並在JavaScript IAM哪些檢查值和相應的ID(這裏是questionid的)。我試圖通過AllAttrList循環,但仍然無法實現獲取檢查值。任何人都可以幫助我使用淘汰賽JS獲得檢查值?

回答

0
You can Use @Html.RadioButtonFor in place of checkbox and bind with your model. 
    @Html.RadioButtonFor(m => m.SomeModelProperty, "value", new { data_bind = "checked: model",@class="input" }) 
on .js file- 
var abc = function(model) 
{ 
    ko.applyBindings(BindModel(model)) 
} 
var BindModel = function(model) 
{ 
var self = this; 
self.SomeModelProperty = ko.observable(model.SomeModelProperty); 
} 

Now you can do two way data-binding like this : - 
<span id="spnAttrNmInd" data-bind='text: {QuestionText:SomeModelProperty()=="value", "":SomeModelProperty()=="" }'></span> 
+0

謝謝mukul,但我只需要使用複選框,也可以reteive選中的值的數組。 –

相關問題