jquery
  • serialization
  • 2016-08-22 84 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

    相关问题