2016-07-06 74 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()...