从动态创建的表中获取文本框值

时间:2017-12-04 11:19:11

标签: jquery

我有一个表,我使用Ajax从数据库中获取数据。在每一行之后我有很多文本框。我需要来自数据库的每一行的数据以及在文本框中手动填写的数据。我无法从文本框中获取数据。我一直没有定义,或者结果空洞。我已经尝试了id和类,但没有结果。有人能告诉我我做错了吗?

这是表格的样子

https://www.dropbox.com/s/wvnjkgsx6k1k4es/PastedGraphic-1.png?dl=0

这是我的代码的一部分

Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI,
            null,
            ContactsContract.Contacts.HAS_PHONE_NUMBER + " = '1' ",
            null,
            ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + " COLLATE LOCALIZED ASC LIMIT 10");

这是Ajax调用

function opslaan() {
    $('#tabelddl tbody tr').each(function() {
        var cijfer1 = $(this).find(".vraag1").val();
    });
}

这是表格

   $.ajax({
       url:"../php/zoek_opleiding_cijfer.php",
       type:"POST",
        async: false,
       data :
       {
           'opleidingid' : opleidingid
       },
       success: function(data) {
           var trHTML = '';
           $("#tabelddl tbody").remove();
           $.each(data,function(i,item) {
               trHTML += '<tr><td style="display:none;">' + data[i].opleiding_id +  
                 '</td><td style="display:none;">' + data[i].id +  
                 '</td><td style="display:none;">' + data[i].inschrijving_id +  
                 '</td><td style="display:none;">' + data[i].naam_opleiding +  
                 '</td><td>' + data[i].achternaam + '</td><td>' +  
                  data[i].tussenvoegsel + '</td><td>' + data[i].voornaam +  
                 '</td> <td class= "vraag1" id="vraag1" style="display:none;">' +  
                 '<input type="text"></td> </td>' + 
                 '</td> <td class= "vraag2" id="vraag2" style="display:none;">' +  
                 '<input type="textbox"></td> </td>' + 
                 '</td> <td class= "vraag3" id="vraag3" style="display:none;">' +  
                 '<input type="textbox"></td> </td>' + 
                 '</td> <td class= "vraag4" id="vraag4" style="display:none;">' +  
                 '<input type="textbox"></td> </td>' +  
                 '</td> <td class= "vraag5" id="vraag5" style="display:none;">' +  
                 '<input type="textbox"></td> </tr>';
           });
       $('#tabelddl').append(trHTML);
       },

       complete: function(){
       }
   });

1 个答案:

答案 0 :(得分:0)

.vraag1是你的td的类名,而且没有val()所以你可以尝试这样$(this).find(".vraag1 > input[type=text]").val();

$("document").ready(function(){

   $("#clickMe").click(function(){
       $('#tabelddl tbody tr').each(function() {      
           var cijfer1 = $(this).find(".vraag1 > input[type=text]").val();
            alert(cijfer1)
       })
   })


})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="tabelddl">
<tr>
<td class="vraag1"> <input type="text"/></td>
<td class="vraag2"> <input type="text"/></td>
<td class="vraag3"> <input type="text"/></td>
</tr>
</table>
<input type="button" value="clickMe" id="clickMe"/>