2012-10-31 3 views
1

서버에서 json 형식의 데이터를 얻습니다. 아래 코드를 사용하여 페이지에서 렌더링합니다. 그러나 열, 즉 셀에 '이름'속성을 설정할 수 없습니다. sName은 모든 셀에 대해 "이름"속성을 설정하는 데 사용해야하는 올바른 속성입니다.
내 Datables 코드입니다.Jquery DataTables에서 sName 속성을 사용하는 방법

$('#' + self.dom.tableID).dataTable({ 
      "asStripeClasses": [self.ui.rowClass], 
      "bPaginate": true, 
      "bLengthChange": false, 
      "bFilter": true, 
      "iDisplayLength": 15, 
      "bSort": true, 
      "bInfo": false, 
      "bAutoWidth": true, 
      "sDom": "tip", 
      "aoColumns": [ 
       { "mDataProp": "name", "sClass": self.ui.nameCellClass, "sWidth": "35%", "sTitle": "Name" }, 
       { "mDataProp": "email", "sTitle": "Email"}, 
       { "mDataProp": "phone", "sTitle": "Phone"}, 
       { "mDataProp": "organizationName", "sTitle": "Organization"}, 
       { "mDataProp": "organizationRenewDate", "sTitle": "Expires on", "sWidth": "100px", "sType": "date"} 

      ], 
      "oLanguage": { 
       "sZeroRecords": "No matching members found." 
      } 
     }); 

나는 각 셀에 "이름"속성을 사용하여 서버 쪽 코드로 다시 데이터를 보내야합니다.

+0

: 당신이 더 많은이 같은 뭔가가 필요

{ mDataProp: "name", sTitle: "Name", mRender: function(data, type, full) { switch(type){ case 'display': return '<input type="text" name="name[]" value="' + data + '" />'; default: return data; } } } 

편집 귀하의 의견을 바탕으로

, 내가 생각하는거야 : 다음과 같은 뭔가가 바른 길에 당신을 얻을합니다 그게 얼마나 진부한 플러그 야? 그것들은 끔찍한 핵심 이름입니다! LoL,하지만 심각하게, 그 플러그인은 작동이 필요합니다. 꼭해야 하나? 당신이 시도하고있는 것을 성취 할 수있는 여러 가지 방법이 있습니다. – SpYk3HH

+0

@ SpYk3HH : jQuery 용 테이블 플러그인입니다. 구성 키 이름은 헝가리 표기법으로되어 있습니다 ... 가장 좋아하는 스타일이 아니지만 트릭을 수행합니다. 나는 그것이 정말로 나쁜 것이라면 더 좋은 것을 쓰도록 권합니다.) – BLSully

+0

@BLSully 언젠가는 언젠가는 자유 시간을 얻으면, 나는 당신을 데려 갈 것입니다. LoL. API에서 보았던 것에서부터 모든 일을 올바르게 수행 한 것처럼 보입니다. 이 플러그에 대한 경험이있는 사람이 당신을 때리 길 바랍니다. 행운을 빕니다. – SpYk3HH

답변

0

입력 양식을 만들 때 양식을 게시 할 때 데이터가 서버로 다시 전송되는 것처럼 보입니다.

이 경우 입력 요소를 셀에 쓰려면 fnRender (구형) 또는 mRender (새 방법)을 사용해야합니다.

fnRowCallback: function(nRow, aData, iDisplayIndex, iDisplayIndexFull) { 
    //replace 1 with whichever cell you need 
    $('td:nth-child(1)', nRow).attr('name', "WhateverNameYouWant"); 
} 
+0

예, 입력 셀을 만드는 중이지만 두 번 클릭 이벤트에서 셀을 "입력 유형 = 텍스트"로 바꾸면됩니다. 먼저 렌더링하는 동안 name 속성을 사용하여 셀을 표시하는 방법을 찾아야합니다. mRender로 그렇게 할 수 있습니까? –

+0

아니요, 생성 된 html을 수정하려면'fnRowCallback'을 사용해야합니다. 참조하십시오 : http://datatables.net/ref – BLSully

관련 문제