2017-03-03 122 views
0

如何在下面的腳本中設置jQuery AJAX外部.each文件?jQuery AJAX從.each函數獲取值並將其發送到AJAX

$('#btnUpdate').click(function() 
{ 
    $('#result').html(''); 
    $('.moduleIDInput').each(function() 
    { 
     var uid = $(this).attr('id'); 
     var moduleID = $(this).val(); 

     var chk = new Array(); 

     $('#result').append('<h3>' +$(this).val() + '</h3>'); 

     $('input[data-uid=' + uid + ']:checked').each(function() 
     { 
      chk.push($(this).val()); 

      $('#result').append('<div>'+ $(this).val() + '</div>'); 
     }); 
    }); 

    $.ajax(
    { 
     url: "updateGroupAccess.php", 
     type: "POST", 
     data: 
     { 
      moduleID: moduleID, 
      chk: chk 
     }, 
     dataType: "JSON", 
     success: function (jsonStr) 
     { 
      $("#btnUpdate").attr({disabled: true, value: "Update"}).addClass('btn_inact').removeClass('btn_act');; 
     } 
    }); 
}); 

如果我把AJAX功能內.each功能將提交超過1 但我需要把它放在外面,發現問題moduleIDchk沒有找到。

+1

之外聲明它,每次它在哪裏接觸到阿賈克斯 – guradio

+0

即'$( '#btnUpdate')。點擊(函數(){ \t \t $( '#結果')。HTML( '') ; \t \t變種CHK =新的Array(); \t \t $( 'moduleIDInput')每個(函數(){ \t \t \t // \t \t}); \t});' – Satpal

+0

你可以請添加您的HTML工作的 –

回答

0

範圍問題。在點擊之外定義uidmoduleID

var uid=""; 
var moduleID=""; 
$('#btnUpdate').click(function() 
{ 
    $('#result').html(''); 
    $('.moduleIDInput').each(function() 
    { 
     uid = $(this).attr('id'); // Assign value for uid 
     moduleID = $(this).val(); 
0

定義在全球範圍內的變量: 創建一個名爲sendAjax功能,並調用它的按鈕點擊。 同時你的所有數據將被存儲在全局變量(object)的數據中。

var data={}; 
$('#btnUpdate').click(function() 
{ 
    $('#result').html(''); 
    $('.moduleIDInput').each(function() 
    { 
     var uid = $(this).attr('id'); 
     data.moduleID = $(this).val(); 
     $('#result').append('<h3>' +$(this).val() + '</h3>'); 

     $('input[data-uid=' + uid + ']:checked').each(function() 
     { 
      data.chk.push($(this).val()); 

      $('#result').append('<div>'+ $(this).val() + '</div>'); 
     }); 
    }); 
    sendAjax(); 
}); 
    function sendAjax() 
    { 
      $.ajax(
    { 
     url: "updateGroupAccess.php", 
     type: "POST", 
     data: 
     { 
      moduleID: data.moduleID, 
      chk: data.chk 
     }, 
     dataType: "JSON", 
     success: function (jsonStr) 
     { 
      $("#btnUpdate").attr({disabled: true, value: "Update"}).addClass('btn_inact').removeClass('btn_act');; 
     } 
    }); 

    }