2017-03-03 96 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');; 
     } 
    }); 

    }