2011-01-07 6 views
0

모달 양식으로 2 개의 라디오 그룹이 있습니다. json 문자열에서 각 그룹의 값을 설정하는 방법을 찾는 데 어려움을 겪고 있습니다. json 문자열의 마지막 2 개 값은 다음과 같습니다. "역할"및 "활성화 됨". 활성화는 예는 1, 지금은 0입니다. 관리자, 직원 또는 사용자의 역할은 1, 2 또는 3입니다. json 문자열을 반복하고 html에서 모두 동일하므로 필드 이름에 값을 할당합니다.json에서 라디오 그룹을 설정하십시오.

내 HTML은 다음과 같습니다

<div class="form-field bt-space10"> 
    <div class="clear"> 
    <h4 class="fl-space2 ln-22 size-120" style="color:#777777; font-size: 12px; font-weight: normal;">Authorization Role: </h4> 

    <div class="form-radio-item clear fl-space2"> 
     <input type="radio" rel="radiogroup" name="role" id="Admin" value="1" class="radio fl-space" /> <label for="Admin" class="fl">Admin</label> 
    </div> 

    <div class="form-radio-item clear fl-space2"> 
     <input type="radio" rel="radiogroup" name="role" id="Staff" value="2" class="radio fl-space" /> <label for="Staff" class="fl">Staff</label> 
    </div> 

    <div class="form-radio-item clear fl-space2"> 
     <input type="radio" rel="radiogroup" name="role" id="User" value="3" class="radio fl-space" /> <label for="User" class="fl">User</label> 
    </div> 
    </div> 
    <div class="clear"> 
    <h4 class="fl-space2 ln-22 size-120" style="color:#777777; font-size: 12px; font-weight: normal;">Account Activated: </h4> 

    <div class="form-radio-item clear fl-space2"> 
     <input type="radio" rel="radiogroup1" name="activated" id="Yes" class="radio fl-space" /> <label for="radio4" class="fl">Yes</label> 
    </div> 

    <div class="form-radio-item clear fl-space2"> 
     <input type="radio" rel="radiogroup1" name="activated" id="No" class="radio fl-space" /> <label for="radio5" class="fl">No</label> 
    </div> 
    </div> 

</div><!-- /.form-field--> 

내 수신 JSON 문자열 (필요한 경우, 나는 "역할"을 반환 변경 될 수 있습니다 : "관리자", 등 및 "활성화": "예", 등 .) :

{"op": "UPDATE", "id": "7","email": "[email protected]","name": "Joe Public","address": "123 Any Street","city": "AnyTown","zipcode": "12345","state": "PA","contact_name": "","phone": "8885551212","fax": "","company_branch": "","company_name": "","activated": "1","role": "1" } 

내가 양식의 다른 필드 채우는 데 사용하는 코드 : 나는 죽음이 인터넷 검색과 같은 발견되지 않은

function editUser(rowID, callback) { 
    var ret; 
    jQuery.fancybox({ 
     modal : true, 
     padding : 0, 
     cache : false, 
     overlayOpacity : 0.5, 
     href : "userEdit.html", 
     onComplete : function() { 
      InitProfileMenu() 
      var tsTimeStamp= new Date().getTime(); 
      $.getJSON("includes/GetUserDetails.php?tsTimeStamp&id=" + rowID,  
       function(data) { 
        $.each(data, function(i, item) { 
        $('#' + i).val(item); 
       }); 
      }) 
      jQuery("#editUser_cancel").click(function() { 
       ret = false; 
       jQuery.fancybox.close(); 
      }) 
      jQuery("#editUser_ok").click(function() { 
       jQuery.fancybox.close(); 
       ret = true; 
      }) 
     }, 

을 olution. 누구든지 아이디어가 있습니까? 또는 그들이 나를 알아내는 데 도움이 될 것이라고 지적 할 수있는 자료가 있습니까?

감사합니다. Dennis

답변

1

html 속성이 서로 같지 않으므로 JSON 문자열의 모든 값에 대해 일반적인 방식으로 해결하기가 어렵습니다. 무선 경우 양식 입력의 종류를 확인 이름과 값은 속성 선택자 사용

  1. 라는 JSON 데이터의 각 요소에 대한
  2. "활성화"무선 입력에 속성치를 추가 I는 두 개의 변경을 제안 올바른지 확인하십시오.

    var myJsonData = { 
        "op": "UPDATE", 
        "id": "7", 
        "email": "[email protected]", 
        "name": "Dennis Megarry", 
        "address": "123 Any Street", 
        "city": "AnyTown", 
        "zipcode": "12345", 
        "state": "PA", 
        "contact_name": "", 
        "phone": "8885551212", 
        "fax": "", 
        "company_branch": "", 
        "company_name": "", 
        "activated": "1", 
        "role": "1" 
    }; 
    
    function updateFormWithJson(dataObj) { 
        $.each(dataObj,function(i,item){ 
         if($('input[name="' + i + '"]:first').attr("type") == "radio"){ 
          $('input[name="' + i + '"][value="' + item + '"]').attr("checked","checked"); 
         } 
        }); 
    }; 
    
    $(document).ready(function() { 
        updateFormWithJson(myJsonData); 
    }); 
    
    <div class="form-field bt-space10"> 
        <div class="clear"> 
        <h4 class="fl-space2 ln-22 size-120" style="color:#777777; font-size: 12px; font-weight: normal;">Authorization Role: </h4> 
    
        <div class="form-radio-item clear fl-space2"> 
         <input type="radio" rel="radiogroup" name="role" id="Admin" value="1" class="radio fl-space" /> <label for="Admin" class="fl">Admin</label> 
        </div> 
    
        <div class="form-radio-item clear fl-space2"> 
         <input type="radio" rel="radiogroup" name="role" id="Staff" value="2" class="radio fl-space" /> <label for="Staff" class="fl">Staff</label> 
        </div> 
    
        <div class="form-radio-item clear fl-space2"> 
         <input type="radio" rel="radiogroup" name="role" id="User" value="3" class="radio fl-space" /> <label for="User" class="fl">User</label> 
        </div> 
        </div> 
        <div class="clear"> 
        <h4 class="fl-space2 ln-22 size-120" style="color:#777777; font-size: 12px; font-weight: normal;">Account Activated: </h4> 
    
        <div class="form-radio-item clear fl-space2"> 
         <input type="radio" rel="radiogroup1" name="activated" id="Yes" value="1" class="radio fl-space" /> <label for="radio4" class="fl">Yes</label> 
        </div> 
    
        <div class="form-radio-item clear fl-space2"> 
         <input type="radio" rel="radiogroup1" name="activated" id="No" value="0" class="radio fl-space" /> <label for="radio5" class="fl">No</label> 
        </div> 
    </div> 
    
+0

완벽하게 작동했습니다. 나는 같은 기능을 수행하려고했지만 잘못된 방향으로 벗어난 것처럼 보였다. .. 다시 .. 감사합니다! – Dennis

관련 문제