2016-12-30 7 views
2

私のシナリオでは、ページロード時のブール値をバインドしてラジオボタンのセットにバインドする必要があります。プロパティの値がtrueの場合、ラジオボタンをチェックする必要があります。私はブール値をoption.Response にバインドする必要がAureliaを使用してブーリアン値をラジオボタンにバインドする方法

<template> 
<div repeat.for="option of question.Options" class="row"> 
    <template if.bind="question.QuestionTypeID == 2"> 
     <div class="col-lg-1 col-md-1 col-sm-1 col-xs-1" style="text-align: right;padding-right:0px;"> 
      <input type="radio" name="${option.QuestionID}" id="${option.OptionID}" model.bind="option.Response" checked.bind="option.Response" click.delegate="OptionUpdate($event.target)" /> 
     </div> 
    </template> 
    <div class="col-lg-11 col-md-11 col-sm-11 col-xs-11"> 
     <label for="${option.OptionID}" innerhtml.bind="option.OptionDesc"> 
     </label> 
    </div> 
</div> 

の下click.delegate方法が

OptionUpdate(element) 
{ 
    for(let option in this.question.Options) 
    { 
     if(element.id == this.question.Options[option].OptionID && element.checked) 
     { 
      this.question.Options[option].Response = this.question.Options[option].OptionID; 
     } 
     else{ 
      this.question.Options[option].Response = undefined; 
     } 
    } 
    return element.checked; 
} 

以下の場合でもオプションのように見えるようにコンポーネントhtmlが見えます。 Responseプロパティがtrueで、他のラジオボタンがチェックされています。事前

+0

あなたは、これが解決し得ることができましたか? – LStarky

答えて

0

おかげであなたはOptionUpdateは必要ありません。はるかに簡単です。私は、データベースからのデータオブジェクトからラジオボックスのお手伝いをするGistRunを作成しました:

https://gist.run/?id=de0a9a277ddbaf6ff39331f3fc61cfe1

+2

Aureliaでネストされた