簡體   English   中英

如何使用 jQuery 獲得選定的行?

[英]How can I get selected row using jQuery?

這是我表格中的tbody行。 我得到下拉值,文本值,但我無法獲得選定的行值。 我的行值返回“未定義”。

 $(document).on("click", "#skorKartDegerle", function() { $("#modal_evaluation").modal("show"); }); $(document).on("click", "#btnKaydet", function() { var arrList = []; var isEmptyAnswer = false; $("#evaluationTable > tbody > tr").each(function() { var line = $(this).find(".answerLine").val(); var ddlVal = $(this).find(".answerddl").val(); var txtVal = $(this).find(".answertxt").val(); var obj = '{"line":"' + line + '","ddlVal":"' + ddlVal + '","txtVal":"' + txtVal + '"}'; arrList.push(obj); }); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <table> <tbody> <tr class="answerLine" value="2"> <td>FR002</td> <td>Koton Mağazacılık</td> <td>1800</td> <td>A</td> <td>Kabul</td> <td class="select" value="0"> <select class="answerddl"> <option value="1">Kabul</option> <option value="2">Ret</option> </select> </td> <td><input type="text" class="answertxt"></td> </tr> </tbody> </table>

部分問題是因為tr元素沒有value屬性。 要執行您需要的操作,您可以改用data屬性,將自定義元數據存儲在元素上。 另一部分是this是對tr元素的引用。 然后,您在要定位的元素上調用find() ,因此不會找到它,因為該方法僅查找后代。

此外值得注意的是,您可以通過使用map()構建數組而不是使用each()顯式循環來使邏輯更簡潔,而且最好將對象存儲在數組中,並且之前只有 JSON 對其進行編碼通過 AJAX 傳輸。

 $(document).on("click", "#btnKaydet", function() { var isEmptyAnswer = false; let arrList = $("#evaluationTable > tbody > tr").map((i, tr) => { let $tr = $(tr); return { line: $tr.data('value'), ddlVal: $tr.find(".answerddl").val(), txtVal: $tr.find(".answertxt").val() } }).get(); console.log(arrList); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <table id="evaluationTable"> <tbody> <tr class="answerLine" data-value="2"> <td>FR002</td> <td>Koton Mağazacılık</td> <td>1800</td> <td>A</td> <td>Kabul</td> <td class="select" value="0"> <select class="answerddl"> <option value="1">Kabul</option> <option value="2">Ret</option> </select> </td> <td><input type="text" class="answertxt"></td> </tr> </tbody> </table> <button id="btnKaydet">Click me</button>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM