0

複数の行を持つグリッドビューがあります。各行を反復処理して値を取得し、ajax クラスを使用して値をデータベースに送信しようとしています。

1行のgridviewからのhtmlは

 <input id="GridView3_ctl03_chkEmployee" type="checkbox" name="$GridView3$ctl03$chkEmployee" />
            </td><td>
                        <span id="_GridView3_ctl03_lblprivateId" class="idName">6878</span>
                    </td><td>
                        <span id="_GridView3_ctl03_lblCompany" class="FName">abcd Inc.</span>
                    </td>
        </tr><tr style="color:#8C4510;background-color:#FFF7E7;">
            <td>

チェックされた各行を選択する次のjqueryコードがあります。

$(document).ready(function () {
           $("#submit").click(function () {
               var record;
               alert("starting");
               $("#<%=GridView3.ClientID%> input[id*='chkEmployee']:checked").each(function () {
                   var value = $(this).find('.FName').val();
                   alert(value);
               });
           });
       });

FName と idName の両方の値を抽出できません。未定義のエラーが発生します。それを修正する方法はありますか?

4

2 に答える 2

0

これを試して

$(document).ready(function () {
var arr = [];
 $('tr [type="checkbox"]:checked').parent().each(function () {
   var value = $(this).find('.FName').val();
   arr.push(value);   
});
  callAjaxGetJoiningDate(arr);
});
function callAjaxGetJoiningDate(hashVal) {
var address = "Ypurpage.aspx";
$.ajax({
    type: 'POST',
    url: address,
    data: { empCode: hashVal },
    beforeSend: function () {
        // this is where we append a loading image
        $('#ajax-panel').html('<div class="loading"><img src="images/loading.gif" alt="Loading..." /></div>');
    },
    success: function (data) {
        // successful request; do something with the data
        $('#ajax-panel').empty();
        var actualData = data.trim().split('~');
        $("#YourResultControl").val(actualData[1]);

    },
    error: function () {
        // failed request; give feedback to user
        $('#ajax-panel').html('<p class="error"><strong>Oops!</strong> Try that again in a few moments.</p>');
    }
});
于 2013-07-25T09:49:43.090 に答える