2016-07-06 77 views
0

我循环来自SQL查询的数据并将其全部放入表单中。从SQL中为每个数据集检索三个变量:BetIDBetHomeBetAwayAJAX - 循环变量,仅传递第一个结果

现在我想改变表单中的数据并通过ajax传递。

问题:只有第一个数据集被更改,其他所有其他数据保持不变。

任何想法我的JavaScript代码有什么问题?

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $("#betting").click(function(){ 

       var val1 = $("#BetID").val(); 
       var val2 = $("#BetHome").val(); 
       var val3 = $("#BetAway").val(); 

       $.ajax({ 
        type: "POST", 
        url: "betting-ajax.php", 
        data: { BetID: val1, BetHome: val2, BetAway: val3 }, 
        success: function(html){ 
         $("#hide").hide(); 
         $("#new").html(html); 
        } 
       }); 
       return false; 
     }); 
    }); 
</script> 

PHP基本上是这样的结构:

<form id="betting"> 
MY SQL query starting here { 
<select id="BetHome"><option value="1">1</option></select> 
<select id="BetAway"><option value="1">1</option></select> 
<input type="hidden" name="BetID" id="BetID" value="<?php echo $BetID ?>" 

<button type="submit" name="submit">Save</button> 

<?php } ?> 
</form> 

与这种形式(形式内部查询)所述和上面所解释的JavaScript代码,仅所述第一数据集被改变,所有随后的数据集不改变。

+0

你能否从与代码共享你你怎么通过SQL数据环路设置 –

+0

把在线形式。往上看 – StephanBo

回答

0

你可以尝试这样的事情吗?

<script type="text/javascript"> 
    $(document).ready(function(){ 
      var val1 = $("#BetID").val(); 
      var val2 = $("#BetHome").val(); 
      var val3 = $("#BetAway").val(); 

      $("#BetHome").on("change", function(){ 
       val1 = $(this).val(); 
      }); 

      $("#BetAway").on("change", function(){ 
       val1 = $(this).val(); 
      }) 
     $("#betting").click(function(){ 
       $.ajax({ 
        type: "POST", 
        url: "betting-ajax.php", 
        data: { BetID: val1, BetHome: val2, BetAway: val3 }, 
        success: function(html){ 
         $("#hide").hide(); 
         $("#new").html(html); 
        } 
       }); 
       return false; 
     }); 
    }); 
</script> 

原因是你需要得到改变下拉的新值。

0

不知道如果我明白你在问什么,但是每当你将html转储到dom时,如果新的html正在替换有事件挂钩的东西,你需要重新绑定你的事件。所以这之后

$("#new").html(html); 

您需要点击事件再次绑定:

$("#betting").click(function()...