フォーム要素を含むテーブルがあります。
for ($a = 0;$a<25;$a++)
{
?>
<tr><td>Number</td>
<td class='ok'><input type='text' name='number[<?php echo $a;?>]' id='number[<?php echo $a;?>]'></td>
<td id='error[<?php echo $a;?>]'></td></tr>
}
次に、このデータを ajax 処理のために jquery に送信し、エラーが発生した場合の応答に基づいて、適切な td ($a に基づく) を「修正」で埋めます。
success: function(result)
{
//get the value of the $a value in form.
var currentId = $(this).attr('id');
var field1 = currentId.split("[");
field2 = field1[1].split("]");
fieldId = field2[0];
if (result == "error")
{
$(this).removeClass('ok').addClass('error');
var errorId = "error["+fieldId+"]";
$("#"+errorId).html('fix it');
}
クラスを変更しているので、結果が「エラー」であることはわかっています。私の問題は、$('#'+errorId) に「修正」が入力されていないことです。