0

フォーム要素を含むテーブルがあります。

 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) に「修正」が入力されていないことです。

4

1 に答える 1

0

このようなことができます。

if (result == "error") {
        $(this).removeClass('ok').addClass('error');
        $(this).parent().find("td[id$=errorId]").html('fix it');
}
于 2013-10-02T21:38:29.343 に答える