使用AJAX

时间:2016-09-20 18:19:25

标签: javascript jquery html ajax html-table

我有一个表格,显示从PHP脚本中提取的信息,如下所示:

<tr class="online" id="0011e31xxxxx">
  <td><input type="checkbox" name="mac" value="0011e31xxxxx"></td>
  <td>1234567</td>
  <td>Modelnumber</td>
  <td>0011.e31x.xxxx</td>
  <td>10.x.x.x</td>
  <td>UBR4</td>
  <td>online</td>
  <td><a href="javascript:void(0);" onclick="getInfo('0011e31xxxxx','10.x.x.x','UBR4','resetubr');"><img src="/own/v2.2/images/reset.gif"></a></td>
  <td><a href="javascript:void(0);" onclick="getInfo('0011e31xxxxx','10.x.x.x','UBR4','resetsnmp');"><img src="/own/v2.2/images/reset.gif"></a></td>
  <td><a href="javascript:void(0);" onclick="getInfo('0011e31xxxxx','10.x.x.x','UBR4','refresh');"><img src="/own/v2.2/images/icone_refresh.png"></a></td>
</tr>

3个getInfo调用链接如下并完美运行:

<script>
function getInfo(id,adresseip,ubr,action) {
        var rowid = "tr#" + id;
        $.ajax({
            type: "GET",
            cache: false,
            url: 'index.php',
            data: "macaddress=" + id + "&ubr=" + ubr + "&adresseip=" + adresseip + "&action=" + action,
            beforeSend: function() {
                $(rowid).addClass("loading");
            },
            success: function(data) {
                $(rowid).replaceWith(data);
            }
        });
}
</script>

我想要做的是使用每个<tr>开头的复选框,以便生成某种循环来运行每行上看到的三个链接之一。

假设我检查了3个方框(值123,234和345),我需要<tr id=123><tr id=234> and <tr id=345>来更新它们各自的行,而其余的数据保持不变。

是否有可能使这样的循环调用AJAX函数运行多次与选中的复选框一样?或者AJAX函数可以迭代每个选中的复选框,以便一个接一个地更新它们吗?

谢谢

2 个答案:

答案 0 :(得分:1)

请在Google上搜索然后尝试...如果您没有得到任何答案,请提出问题...

Check this Link..

$('#TableID > tr').each(function() {
    var postData = {
    'FirstName':$(this).find('#FirstName').val(),
    'SurName':$(this).find('#Surname').val()
    };
    $.ajax({
    type: "POST",
    cache: false, 
    url: "WuFoo.aspx",
    data: postData ,
    success: success
    });
 });

答案 1 :(得分:0)

您可以通过执行类似

的操作来获取所有带有JQuery的复选框

$("input[type=checkbox]:checked")

然后,您可以使用.each迭代它们并更新每个适当的行。

该代码应该放在您的ajax调用的success:函数中。

或者,您可以使用相同的JQuery代码来获取复选框,然后选择<tr>中的.each并使用该数据进行Ajax调用。