다음과 같은 양식이 있다고 가정 해 보겠습니다.
<form>
<table>
<thead>
<th>
Submit?
</th>
<th>
Data
</th>
</thead>
<tbody>
<tr>
<td>
<input type="checkbox" name="c1">
</td>
<td>
<input name="t1">
</td>
</tr>
<tr>
<td>
<input type="checkbox" name="c2">
</td>
<td>
<input name="t2">
</td>
</tr>
</tbody>
</table>
</form>
내가 그 양식을 제출하면. 확인란 (선택한 경우) 및 일반 입력이 포함 된 배열이 제출됩니다.
이제 다음 중 하나를 원합니다.
그것을 달성하는 방법이 있습니까?
편집하다:
지금은 다음과 같은 데이터를 제출하고 있습니다.
$.post(url, { attributes: $(form).serializeArray() })
가능하다면 HTML-Markup으로하고 싶습니다. 이것이 내 의견으로는 올바른 방법이기 때문입니다.
실제로 JS / PHP Array juggling을하고 싶지 않습니다. 좋은 방법이 없다면. 지금은 아주 추악한 foreach 스태킹 만 생각할 수 있습니다.
좋아, 내가 어떻게 해결했는지 :
양식을 그대로 둡니다.
JS Magic을 좀하세요. 양식을 제출하는 대신 다음을 수행합니다.
var submitData = {};
$("input:checked.attributCheckbox").each(function() {
var id = $(this).attr('name');
// This is how I get the input for the checkbox.
var val = $("input[type=number][name="+ id +"]").val();
submitData[id] = val;
});
$.post(url, {attributes : submitData});
글쎄요, 제가 바라던 완벽한 해결책은 아닙니다. 그러나 그것은 아주 잘 작동합니다. 누군가가 더 나은 해결 방법을 생각 해낼 수 있을까요?
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다