2013-05-26 33 views
0

Jsfiddle阿賈克斯/ jQuery的下降,從拉從數據庫中選擇與數據價值下降

我感到有很難與這一個.....讓我解釋一下

我從分貝與阿賈克斯提取數據和將它附加到dataHolder div - 直到現在,每件事情都可以 - 每個用戶都有年 - 月 - 日 -

現在,如果想給第一個用戶peter的實例提供新的日期 - 當我點擊確認標籤i選擇年,月,日(此作品僅適用於第一位用戶)

現在,如果我想爲你的第二個用戶alex-新的日期,當我在確認 的標籤我只挑客戶端ID點擊 - 但對於年和月和日是什麼

anyhelp請人

// alert(年+月+日+ cid);只輸出用戶CID

讓我告訴你更好地理解代碼

$(document).ready(function() { 

    $("#dataHolder").on('click', '.set', function() { 

     var cid = $(this).attr('id') 
     var year = $('#year').val(); 
     var month = $('#month').val(); 
     var day = $('#day').val(); 

     //alert(year + month + day + cid); 

     $.ajax({ 
      url: 'confirm.php?id=' + cid + '&year=' + year + '&month=' + month + '&day=' + day, 
      type: "POST", 
      success: function(response) { 
       console.log(response) 
      } 
     }); 
    }); 

    $('#btn').hide(); 

    $('#myform').on('change', function(e) { 

     e.preventDefault(); 

     var select = $('#select').val(); 
     // ** console.log(select); 

     var datasholder = $('#dataHolder').html(''); 

     $.ajax({ 
      type: 'POST', 
      url: 'proccess.php', 
      data: $(this).serialize(), 
      success: function(data) { 
       datasholder.append(data); 
      } 
     }) 
    }) 
}) 

// **數據後拉出向下跌破

<div id="dataHolder"> 

    <table class="tablesorter bordered" id="myTable"> 
     <thead> 
      <tr> 
       <th>No.</th>  
       <th>Client Name:</th> 

      </tr> 
     </thead> 
     <tbody> 
      <tr> 
       <td>1</td>   
       <td>mohammed fathi</td> 
       <td> 

        <input type="text" id="year" name="year" maxlength="4">&nbsp; 

        <select id="month" name="month"> 

         <option value="">Select...</option> 
         <option value="01">January</option> 

        </select>&nbsp; 

        <select style="width: 60px;" id="day" name="day"> 

         <option value="">--</option> 
         <option value="01">01</option> 
         <option value="02">02</option> 

        </select>&nbsp; 

        <a style="cursor: pointer;" class="set" id="1">Confirm</a> // ** confrim 
       </td>   
      </tr> 


      <tr> 
       <td>1</td>   
       <td>mohammed fathi</td> 
       <td> 

        <input type="text" id="year" name="year" maxlength="4">&nbsp; 

        <select id="month" name="month"> 

         <option value="">Select...</option> 
         <option value="01">Jan</option> 
         <option value="01">Feb</option> 

        </select>&nbsp; 

        <select style="width: 60px;" id="day" name="day"> 

         <option value="">--</option> 
         <option value="01">01</option> 
         <option value="02">02</option> 

        </select>&nbsp; 

        <a style="cursor: pointer;" class="set" id="2">Confirm</a> // ** confrim 
       </td>   
      </tr> 


     </tbody> 
    </table> 
</div> 

////////* ****二更新

$( 「#dataHolder」)。在( '點擊', '集',函數(){

   // do something 

       //var cid = $(this).attr('id') 
       //var year = $('#year').val(); 
       //var month = $('#month').val(); 
       //var day = $('#day').val(); 

       var cid = $(this).attr('id') 
       var year = $(this).siblings('.year').val(); 
       var month = $(this).siblings('.month').val(); 
       var day = $(this).siblings('.day').val(); 


      alert(year + month + day + cid); 

      $.ajax({ 
       url: 'confirm.php?id='+cid+'&year='+year+'&month='+month+'&day='+day, 
       type: "POST", 
       success: function(response){ 
        console.log(response) 
       } 
      }); 
    }); 
+0

ID必須是唯一的,您不能爲每個人重複'id =「year」'等。 – Barmar

+0

謝謝 - 巴爾瑪 - 我該如何解決這個問題? –

+0

也首先ajax請求應該'get'而不是'post',因爲你在url中公開你的數據。 – sunny1304

回答

0

您不能在每行中使用相同的ID。將id="year"更改爲class="year"(月份和日期相同)。然後將代碼更改爲:

var cid = $(this).attr('id'); 
var year = $(this).siblings('.year').val(); 
var month = $(this).siblings('.month').val(); 
var day = $(this).siblings('.day').val(); 
+0

謝謝 - 人,我會給它嘗試 –

+0

當我確實提醒它說NaN1 –

+0

檢查更新...我已經改變了所有的ID以及類至於html –