2017-06-29 7 views
0

私のフォームには4つの異なるラジオボタンのグループがあります。各グループには異なる名前のセットがあります。 JSONオブジェクトを使用してデータを保存します。データをループしている間、私は追加された単語の前にキーを使用しています。これにより、そのデータセットの各フォーム要素の名前がわかります。私は正常にテキストとチェックボックスの入力フィールドに値を設定しましたが、それでもラジオボタンを取得できます。私は上記のコードを試してみましたが、私はラジオボタンにチェックが表示されない名前と値に基づいてラジオボタンをチェックする方法は?

$.each(jsonData[jsonKey], function(index, element) { 
    var frmElementName = $('[name="'+'frm'+index.toLowerCase()+'"]'); 
    var frmElementId = $('#frm'+index.toLowerCase()); 
    var frmVal = $.trim(decodeURIComponent(element)) 

    if(frmElementName.attr('type') == 'text'){ 
     frmElementId.val(frmVal); 
    }else if(frmElementName.attr('type') == 'checkbox'){ 
     (frmVal == 'Yes') ? frmElementId.attr('checked',true) : frmElementId.attr('checked',false); 
    }else if(frmElementName.attr('type') == 'radio'){ 
     $('input[name="'+'frm'+index.toLowerCase()+'"][value="' + frmVal + '"]').prop('checked', true); 
    } 
}); 

:ここでは、フォームフィールドを移入し、私のロジックが

var jsonData = { 
    myForm:{"hs_mask":"Yes","name":"John Miller","hs_cktr":"Yes"} 
} 

です:ここに私のJSONデータです。テキストとチェックボックスのタイプでわかるように、私はIDを使ってフィールドを設定しますが、ラジオボタンではエレメント名を使用しました。誰かが私のコードが壊れているのを見たら私に知らせてください。ありがとうございました。

答えて

0

今日私は同様の問題に直面した。

function jsonToForm(json) { // populates form elements with JSON data 
for (var x in json) { // JSON iteration 
    var id = x; // in my original code x has to be processed to match form and object names 
    var element = document.getElementById(id); 
    if (element) { // if JSON key corresponds to a non radio button (unique id) form element 
     element.value = json[x]; // updates form values 
       } else if (document.getElementsByName(id)) { // for radio buttons the name attribute is used as JSON key won't match separate radio button id's. 
     var radios = document.getElementsByName(id); 
     for (var i = 0; i < radios.length; i++) { // radio button iteration 
      if (radios[i].value == json[x]) { 
       radios[i].checked=true; 
       break; 
      } 
     } 
    } 
}} 

Populating radio buttons and JavaScript object properties with JSON data

:これは私の解決策でした
関連する問題