2017-12-29 6 views
0

단일 데이터 (json) 행을 입력 필드 onclick 이벤트에 바인딩해야합니다.json 파일의 선택된 데이터 행을 입력 필드 (텍스트)에 어떻게 바인딩 할 수 있습니까?

<script> 
           var Jsonstr = <?php echo $resObjstr; ?>; 
           for (var key in Jsonstr) { 
            if (Jsonstr.hasOwnProperty(key)) { 
            //console.log(Jsonstr[key]["tile_name"] + ", " + Jsonstr[key]["id"]); 
            $('.rowP1').append("<tr><td>"+Jsonstr[key]['id']+"</td><td><a href='#' title='"+Jsonstr[key]['tile_name']+"' id='"+Jsonstr[key]['id']+"' onClick='getDetails("+Jsonstr[key]['id']+",modifytile)'>"+Jsonstr[key]['tile_name']+"</a></td><td>"+Jsonstr[key]['detail']+"</td><td><img src='wp-content/themes/orchid-new/assets/img/"+Jsonstr[key]['image']+"' width='138' height='79' style='border:1px solid #999999;'/></td><td class='showprov' data-prov=''>"+Jsonstr[key]['providers']+"</td><td>"+Jsonstr[key]['states']+"</td><td>"+Jsonstr[key]['occurring']+"</td><td><button type='button' class='delTile' onclick='DelTiles("+Jsonstr[key]['id']+");'><i class='material-icons'>delete_forever</i></button></td></tr>"); 
            } 
           } 
          </script> 
<a href="#"onclick='getDetails(tileid);'>Link</a> 
function getDetails(tileid){ 
    console.log(tileid); 
    if (tileid != null || tileid !=''){ 
     $('.nav-tabs a[href="#modifytile"]').tab('show'); 

     var jsondata = <?php echo $resObjstr; ?>; 
     for (key in jsondata) { 
      if (jsondata.hasOwnProperty(key)) { 
        $.each(jsondata[key], function (index, val) { 
         var txt = $('#tile_name').eq(index).val(val); 
         $('#tile_name').eq(index).val(val); 
         console.log(txt); 
        }); 
      } 
     } 
    } 
} 

대신 json 문자열의 맨 마지막 행을 표시합니다. 샘플 이미지에서 볼 수 있듯이 json 데이터는 올바르게 렌더링됩니다. sample image

답변

0

그래서, break 루프. 변수를 선언 한 후

for (key in jsondata) { 
    if (jsondata.hasOwnProperty(key)) { 
      $.each(jsondata[key], function (index, val) { 
       var txt = $('#tile_name').eq(index).val(val); 
       $('#tile_name').eq(index).val(val); 
       console.log(txt); 
       return false; 
      }); 
      break; 
    } 
} 
+0

에 의해 액세스 할 수 있도록 JSON을 구문 분석하는 방법을 알고 않습니다 올바른 선택 레코드를 얻을 수 있다는 것을 의미하지는 않습니다. 이것이 내 문제입니다. 루프 된 json 문자열의 링크를 클릭하고 DB에 아약스 게시를 통해 레코드를 수정하기 위해 양식 필드를 채울 수 있기를 원합니다. – Reya276

+0

"tileid"어디서 왔는가? – lucky

0

사용을 console.log (jsondata)는 변수 $ resObjstr을 얼마나 볼 수 있습니다 그리고 당신은 루프를 파괴함으로써 자바 스크립트

+0

나는 이미 jsondata 문자열이 무엇인지 압니다. 그것은 wordpress 테이블에서오고있다. PHP 코드 글로벌 $ wpdb; $ results = $ wpdb-> get_results ('SELECT * FROM wp_tiles', OBJECT); $ resObj = json_encode ($ results); $ resObjstr = (문자열) $ resObj; – Reya276

+0

결과 json을 넣을 수 있습니까? –

+0

json을 반복 할 때 실제 행을 필요한 ID와 비교하여 그 순간에 적절한 행을 선택해야합니다. –

관련 문제