お世話になります。
下記ソースの通り、Jsondデータの件数分、HTMLに記載したテーブルをcloneする処理を書きました。
しかしjs側のテキストボックスにmaxLengthを設定している処理がうまくいかないようで、
もし書き方に問題がありましたらご指摘をお願いいたします。
なお、currentValue.items[0].itemLengthには数値が入っていることとします。
HTML
1<div class="col-xs-12"> 2 <div class="whbase container-fluid"> 3 <table class="table table-bordered table-detail" id="infoValueTable"> 4 <tr> 5 <th class="col-sm-1">テーブル名称</th> 6 <th class="col-sm-1">情報項目名称</th> 7 <th class="col-sm-1">現在値</th> 8 <th class="col-sm-1">修正値</th> 9 </tr> 10 <tr id="infoValueRowBaseText"> 11 <td style="display: none; "class="value-item-id"></td> 12 <td class="value-table-name"></td> 13 <td class="value-item-name"></td> 14 <td class="value-current-value"></td> 15 <td class="value-new-value"> 16 <div class="form-horizontal"> 17 <div class="form-group"> 18 <div class="col-sm-7 form-inline input-append"> 19 <input type="checkbox" value="1"> 20 <input type="text" class="form-control" /> 21 </div> 22 </div> 23 </div> 24 </td> 25 </tr> 26 </table> 27 </div> 28</div> 29
javascript
1 var infoValueParamJsonData = {0}; 2 3 // 初期処理 4 var infoInitializeScript = function () { 5 6 var tbl = $('#infoValueTable'); 7 // tableをJsonDataの件数分、クローンする。 8 for (i = 0; i < infoValueParamJsonData.value.length; i++) { 9 var currentValue = infoValueParamJsonData.value[i]; 10 var row = $('#infoValueRowBaseText').clone(false); 11 row.attr('id', "infoValueRow" + i); 12 tbl.append(row); 13 row.children('.value-table-name').html(currentValue.items[0].tableName); 14 row.children('.value-item-name').html(currentValue.items[0].itemName); 15 row.children('.value-current-value').html(currentValue.items[0].itemValue); 16 row.children('.value-item-id').html(currentValue.items[0].itemId); 17 row.children('.value-new-value input[type="text"]').attr("maxLength", currentValue.items[0].itemLength); 18 } 19 tbl.find('#infoValueRowBaseText').remove(); 20 21 }; 22 23 // イベント定義 24 // ------------------------------------------------------------------------------------- 25 26 // -------------------------------------------------------------------------------------------------- 27 28 $(document).ready( function() { 29 infoInitializeScript(); 30 }); 31
回答1件
あなたの回答
tips
プレビュー