jquery
  • serialization
  • 2016-08-22 97 views 0 likes 
    0

    我知道已經有很多關於這個問題,我有工作高達一個點..jQuery的序列化表單數據

    我的形式被設計爲:

    <tr data-id='123456789'> 
         <td><input name="Site" type="text" id="Site" value='123'/></td> 
         <td><input name="Location" type="text" id="Location" value='NW'/></td> 
        </tr> 
    
        <tr data-id='987654321'> 
         <td><input name="Site" type="text" id="Site" value='444'/></td> 
         <td><input name="Location" type="text" id="Location" value='NE'/></td> 
        </tr> 
    

    我然後用連載:

    var datastring = $("#form2").serialize(); 
    

    這工作,但不包括從TRdata-id有反正我可以包括?

    我要發送到我的PHP頁面:

    123456789:123:NW 
    987654321:444:NE 
    

    我很高興能去這樣做的更好的辦法! 謝謝

    +0

    你可以隱藏字段數據傳遞-ID – DsRaj

    回答

    2

    這裏的基礎上,我有寫一些代碼,這將是幫助對你完全滿意。你可以做它而不是序列化的形式。

    var post_data={data:[]}; 
     
    $('tr[data-id]').each(function(){ 
     
        var tmp=[]; 
     
        tmp.push($(this).data('id')); 
     
        $(this).find('input').each(function(){ 
     
         tmp.push($(this).val()); 
     
        }); 
     
        post_data.data.push(tmp.join(":")); 
     
    }); 
     
    alert(JSON.stringify(post_data)); 
     
    // now you can post data as a form using ajax.
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
     
    <table> 
     
    <tr data-id='123456789'> 
     
         <td><input name="Site" type="text" id="Site" value='123'/></td> 
     
         <td><input name="Location" type="text" id="Location" value='NW'/></td> 
     
        </tr> 
     
    
     
        <tr data-id='987654321'> 
     
         <td><input name="Site" type="text" id="Site" value='444'/></td> 
     
         <td><input name="Location" type="text" id="Location" value='NE'/></td> 
     
        </tr> 
     
        </table>

    +0

    感謝那些需要我需要的數據。 – Tom

    0

    使用隱藏的輸入並設置數組中的所有值。不要多次使用ID或名稱。

    <tr data-id='123456789'> 
        <td> 
         <input name="id[]" type="hidden" value='123456789'/> 
         <input name="Site[]" type="text" value='123'/> 
        </td> 
        <td> 
         <input name="Location[]" type="text" value='NW'/> 
        </td> 
    </tr> 
    
    <tr data-id='987654321'> 
        <td> 
         <input name="id[]" type="hidden" value='987654321'/> 
         <input name="Site[]" type="text" value='444'/> 
        </td> 
        <td> 
         <input name="Location[]" type="text"value='NE'/> 
        </td> 
    </tr> 
    
    0
    <tr> 
        <td><input name="data_id[]" type="text" id="data_id" value='123456789'/></td> 
        <td><input name="Site[]" type="text" id="Site" value='123'/></td> 
        <td><input name="Location[]" type="text" id="Location" value='NW'/></td> 
    </tr> 
    <tr> 
        <td><input name="data_id[]" type="text" id="data_id" value='987654321'/></td> 
        <td><input name="Site[]" type="text" id="Site" value='444'/></td> 
        <td><input name="Location[]" type="text" id="Location" value='NE'/></td> 
    </tr> 
    

    獲取在PHP網頁三個陣列,並在一個循環處理它們, 您可以處理站點和位置的data_id

    相關問題