Jquery Как выбрать ul внутри td выбранной строки - PullRequest
0 голосов
/ 13 апреля 2020

Как выбрать <ul> внутри <td> выбранной строки. вот мой код html и jquery. Помогите мне решить эту проблему.

Я пытаюсь выбрать тег <ul> внутри <td>, чтобы вставить извлеченные данные с помощью ajax.

, это код jquery.

 $('.result').click(function () {
            var tpid = $(this).parents('tr').find('.tpId').val();
            $.ajax({
                    type: "POST",
                    url: "/Reception/PatientTests/getHelpValue",
                    data: { 'tpid': tpid },
                success: function (data) {
                    str = "";
                    for (var i = 0; i < data.length; i++) {
                        str +="<li>"+data[i] + "</li>";
                    }
                    $(this).find('td ul').html(str);
                },
                    error: function (e) {
                        alert('Error' + JSON.stringify(e));
                    }
            });

        });

это мой html код.

<table class="table table-bordered table-sm" style="height:auto">
                                    <tbody><tr class="blue-gradient-rgba text-white">
                                        <th>Test Name</th>
                                        <th>Value</th>
                                        <th>Unit</th>
                                        <th>Normal</th>
                                        <th>Minimum</th>
                                        <th>Maximum</th>
                                    </tr>

                                        <tr>
                                                <input type="hidden" class="tid" value="2">
                                                <th colspan="2">COMPLETE BLOOD COUNT</th>
                                        </tr>
                                                <tr>
                                                    <td>Haemoglobin</td>
                                                    <td>
                                                        <input type="hidden" class="tpId" value="9">
                                                    <input type="text" class="result" value="45">
                                                    <ul class="helpValues"></ul>
                                                    </td>
                                                    <td>gm %</td>
                                                    <td>m-14.0 to 18.0 Gms. %
F- 12.5 to 16.0 Gms. %</td>
                                                    <td></td>
                                                    <td></td>
                                                </tr>
                                                <tr>
                                                    <td>MCV</td>
                                                    <td>
                                                        <input type="hidden" class="tpId" value="12">
                                                    <input type="text" class="result" value="75">
                                                    <ul class="helpValues"></ul>
                                                    </td>
                                                    <td>fl</td>
                                                    <td>76- 96</td>
                                                    <td></td>
                                                    <td></td>
                                                </tr>
                                        <tr>
                                                <input type="hidden" class="tid" value="3">
                                                <th colspan="2">DENGUE IgG /IgM</th>
                                        </tr>
                                                <tr>
                                                    <td>Dengue IgG</td>
                                                    <td>
                                                        <input type="hidden" class="tpId" value="13">
                                                    <input type="text" class="result" value="53">
                                                    <ul class="helpValues"></ul>
                                                    </td>
                                                    <td>ml</td>
                                                    <td></td>
                                                    <td>1 mL serum</td>
                                                    <td></td>
                                                </tr>
                                                <tr>
                                                    <td>Dengue IgM</td>
                                                    <td>
                                                        <input type="hidden" class="tpId" value="14">
                                                    <input type="text" class="result">
                                                    <ul class="helpValues"></ul>
                                                    </td>
                                                    <td>ml</td>
                                                    <td></td>
                                                    <td></td>
                                                    <td></td>
                                                </tr>
                                                <tr>
                                                    <td>Dengue NS1</td>
                                                    <td>
                                                        <input type="hidden" class="tpId" value="15">
                                                    <input type="text" class="result">
                                                    <ul class="helpValues"></ul>
                                                    </td>
                                                    <td>ml</td>
                                                    <td></td>
                                                    <td></td>
                                                    <td></td>
                                                </tr>

                                </tbody></table>

Я пробовал это $(this).find('td ul').html(str);, но он не работает. здесь я хочу добавить данные в ul конкретной строки.

Ответы [ 2 ]

0 голосов
/ 13 апреля 2020

Насколько я понимаю, вы пытаетесь получить доступ к 'ul' внутри своего 'td'. Вот блок кода, который включает ul внутри td.

 <tr>
      <td>MCV</td>
      <td>
          <input type="hidden" class="tpId" value="12">
          <input type="text" class="result" value="75">
          <ul class="helpValues"></ul>
       </td>
       <td>fl</td>
       <td>76- 96</td>
       <td></td>
       <td></td>
       </tr>

Jquery code


$(".result").on("click",function()
{

let ul=$(this).parent().find("ul");
let ulValues=$(ul).val();

console.log(ulValues);


})

0 голосов
/ 13 апреля 2020

.tpId просто предыдущий, а ul рядом с .result. Таким образом, вы можете использовать prev и next :

var tpid = $(this).parents('tr').find('.tpId').val();
// Alternative:
var tpid = $(this).prev().val(); // I love this approach

// This is wrong
$(this).find('td ul').html(str);
// You're finding from `.result`
// So, use:
$(this).parents('tr').find('ul').html(str);
// But, you can do just
$(this).next().html(str); // I love this approach
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...