2012-10-05 2 views
0

여러 행에 양식 요소가 있습니다. 이러한 요소의 이름을 지정하여 양식의 모든 값을 읽고 값이있는 JSON을 생성 할 수있는 가장 좋은 방법은 무엇입니까? HTML은 배열을 지원하지 않기 때문에 가장 좋은 대안은 무엇입니까?여러 행의 Form 요소를 읽는 방법은 무엇입니까?

각 행에는 2 개의 텍스트 요소와 1 개의 선택 요소가 있습니다. 이 행은 동적으로 생성됩니다.

편집 : 기본적으로 JSON으로 데이터를 변환하여 서비스에 전달할 수있는 쉬운 방법이 필요합니다. 예이기 때문이다

내 행의 각 당신이 필요로 할 때 다음 기간에 싸서 그냥 텍스트를 사용하고,이

<tr><td><input type="text"></input></td> 
<td><select><option>Exact</option><option>Regex</option><option>Action</option></select></td> 
<td><input type="text"></input></td></tr> 

<tr><td><input type="text"></input></td> 
<td><select><option>Exact</option><option>Regex</option><option>Action</option></select></td> 
<td><input type="text"></input></td></tr> ..... 
+0

당신이 "HTML은 배열을 지원하지 않습니다"무엇을 의미합니까? – Teneff

+0

그래서 여러 행의 양식 요소가있는 경우 요소 이름을 textbox [0] textbox [1] 등으로 지정할 수 있습니까? –

+1

물론, 그 이름을'textbox []'또는'textbox [name]' – Teneff

답변

0

같은 값에 ID를 넣어 그 acoplish하는 좋은 방법을 찾습니다 즉, 행을 통해 JSON의 반복 처리를하고 그것에서 데이터를 얻을 수 있습니다 :

var elements = [] 
$('#formId tr').each(function (i, e){ 
    elements.push({ 
     ElementTd1: $('#td1').val()  
    }) 
} 
1

내가 이해 생각 . JQuery와의 그런

<div class="form"> // I prefer getting a namespaced super element 
<div class="row"> 
    <input name="name[0][yo]"/> 
    // Other elements 
</div> 
<div class="row"> 
    <input name="name[1][yo]"/> 
    // other elements 
</div> 
</div> 

: 다른 페이지에 입력 행의 배열을 게시 할 수 있도록해야

$.post('to_my_page', $('.form input, .form select, .form textarea').serialize(), function(data){ 
    // Done 
}, 'json'); 

당신은 당신의 HTML을 변경할 수 있습니다.

이것은 물론 매우 간단하고 기본적인 예입니다.

+0

일종의 아이디어가 있는데,이 명명 규칙을 사용하여 JSON을 생성하려고 시도합니다 –

+0

@monotheist 설명이 필요하면 알려주세요 :) – Sammaye

관련 문제