2017-04-04 48 views
0

我得到了以下编码的麻烦,我无法使用选择中的选项进行更改,在这里我使用while循环来获取所有列在多个选择框中并使用阿贾克斯时,我选择更新,它仅适用于第一组列表,当我选择它的第一个选择框随着Ajax我只能改变第一选择,

这里实现其他选择的代码Ajax代码

$("#newqty").change(function(){ 

       var cartid=$('#cartid').val(); 

       //$('.form-select').ajaxSubmit(function(){ 

       var newqty = $(this).val(); 
         var dataString = "newqty="+newqty+"&cartid="+cartid; 

          $.ajax({ 
           type: "POST", 
           url: "changeprice.php", 
           data: dataString, 
           async:false,  
           }) 

           .done(function(result){ //on Ajax success 
            alert("Selected"+dataString); 

            //$("#show").html(result); //alert user 

            }) 


         }); 

他在这里的编码php

<tr id='cartitems'><td><img style='height:90px; width:90px;' src='../e-comm/images/Lotus_truffles.jpg' alt='img'></td> 
        <td><h5 style='padding:10px; font-size:20px;'>Lotus Truffles</h5></td> 
        <td> 
        <form method='post' class='form-select'> 
        <input type='text' name='cartid' id='cartid' value=12 hidden> 
        <select name='newqty' id='newqty'><option value='qty'>Select Quantity</option> 
        <option selected='selected' value='12' select>12</option> 
        <option value='24'>24</option> 
        <option value='30'>30</option> 
        <option value='50'>50</option> 
        </select></form></td> 

        <td><h4 align='center' style='padding:20px;'>420 QAR</h4></td> 
       <td><a class='btn btn-primary' href='../e-comm/removecart.php?cartid=12'>delete</a></td> 
       </tr> 

      <tr id='cartitems'><td><img style='height:90px; width:90px;' src='../e-comm/images/white_digestive.jpg' alt='img'></td> 
       <td><h5 style='padding:10px; font-size:20px;'>White Chocolate Digestive Truffles</h5></td> 
       <td> 
       <form method='post' class='form-select'> 
       <input type='text' name='cartid' id='cartid' value=13 hidden> 
       <select name='newqty' id='newqty'><option value='qty'>Select Quantity</option> 
        <option selected='selected' value='12' select>12</option> 
        <option value='24'>24</option> 
        <option value='30'>30</option> 
        <option value='50'>50</option> 
        </select></form></td> 

        <td><h4 align='center' style='padding:20px;'>420 QAR</h4></td> 
       <td><a class='btn btn-primary' href='../e-comm/removecart.php?cartid=13'>delete</a></td> 
       </tr> 

      <tr id='cartitems'><td><img style='height:90px; width:90px;' src='../e-comm/images/Blueberry-Cheesecake.png' alt='img'></td> 
       <td><h5 style='padding:10px; font-size:20px;'>Blueberrry Cheesecake</h5></td> 
       <td> 
       <form method='post' class='form-select'> 
       <input type='text' name='cartid' id='cartid' value=14 hidden> 
       <select name='newqty' id='newqty'><option value='qty'>Select Quantity</option> 
        <option selected='selected' value='12' select>12</option> 
        <option value='24'>24</option> 
        <option value='30'>30</option> 
        <option value='50'>50</option> 
        </select></form></td> 

        <td><h4 align='center' style='padding:20px;'>420 QAR</h4></td> 
       <td><a class='btn btn-primary' href='../e-comm/removecart.php?cartid=14'>delete</a></td> 
       </tr> 

      <tr id='cartitems'><td><img style='height:90px; width:90px;' src='../e-comm/images/lotus_cheesecake.jpg' alt='img'></td> 
       <td><h5 style='padding:10px; font-size:20px;'>Lotus Cheesecake</h5></td> 
       <td> 
       <form method='post' class='form-select'> 
       <input type='text' name='cartid' id='cartid' value=15 hidden> 
       <select name='newqty' id='newqty'><option value='qty'>Select Quantity</option> 
        <option selected='selected' value='12' select>12</option> 
        <option value='24'>24</option> 
        <option value='30'>30</option> 
        <option value='50'>50</option> 
        </select></form></td> 

        <td><h4 align='center' style='padding:20px;'>540 QAR</h4></td> 
       <td><a class='btn btn-primary' href='../e-comm/removecart.php?cartid=15'>delete</a></td> 
       </tr> 

这里我想要一个表单,当我的选项被选中的时候,例子当我选择它应该选择的30时,它应该得到输入框和选择的值。简单地当我选择任何选项时,它应该提交表格

回答

1

的问题是,你重复的ID(这应该是唯一的)。您可以将类添加到您的选择:

<select name='newqty' id='newqty' class="yourClass"><option value='qty'> 

和JS:

我建议,使ID的独特的为好。

LE: 更改此太:

<input type='text' class='cartClass' name='cartid' id='cartid' value=12 hidden> 

$(document).on('change', '.yourClass', function() {... 
     var cartid=$(this).siblings('.cartClass').val(); ... 
+0

谢谢。有效 – Fussionweb

1

然而,你的代码是不完整的,看着你的javascript中的注释行我猜你正在取代你的ajax调用的DOM。这将删除“更改”触发器的事件绑定。

尝试改变下面一行:

$("#newqty").change(function(){ 

这个...

$(document).on('change', '#newqty', function() { 
+0

让我试试这一个 – Fussionweb

+0

没有变化,只有第一个工作,当我点击其他列表对它应用第一个变化不是我的选中 – Fussionweb

+0

当我选择其他选择的时候也改变了第一个 – Fussionweb

0

此代码真的有效处理我的错误

$(document).on('change', '#newqty', function() { 

        var cartid=$(this).siblings('#cartid').val(); 


        var newqty = $(this).val(); 
          var dataString = "newqty="+newqty+"&cartid="+cartid; 

           $.ajax({ 
            type: "POST", 
            url: "changeprice.php", 
            data: dataString, 

            }) 

            .done(function(result){ //on Ajax success 
             alert("Selected"+dataString); 



             }) 

          }); 

这里.siblings防止继承相同carid所有形式