0

我有表:

<table class="table table-striped" id="dane">
<tr>
    <th>
        Rezerwuj           
    </th>
    <th>
        Name
    </th>
    <th>
        Manufacturer
    </th>
    <th>
        ProjectName
    </th>
    <th>
        Name
    </th>
    <th>
        Name
    </th>
    <th>
        Surname
    </th>
    <th>
        Issue
    </th>
    <th>
        IssueDetails
    </th>
    <th></th>
</tr>

    <tr>
        <td style="vertical-align:middle">
            <div class="value">
                <input data-val="true" data-val-number="The field DeviceInstanceId must be a number." data-val-required="The DeviceInstanceId field is required." id="item_DeviceInstanceId" name="item.DeviceInstanceId" type="hidden" value="1" />

            </div>
        </td>
        <td style="vertical-align:middle">
            a
        </td>
        <td style="vertical-align:middle">
            b
        </td>
        <td style="vertical-align:middle">
            c
        </td>
        <td style="vertical-align:middle">
            d
        </td>
        <td style="vertical-align:middle">
            e
        </td>
        <td style="vertical-align:middle">
            f
        </td>
        <td style="vertical-align:middle">
            <input checked="checked" class="check-box" disabled="disabled" type="checkbox" />
        </td>
        <td style="vertical-align:middle">
            Uszkodzona wtyczka ethernet
        </td>

    </tr>
    <tr>
        <td style="vertical-align:middle">
            <div class="value">
                    <input type="checkbox" />
                <input id="item_DeviceInstanceId" name="item.DeviceInstanceId" type="hidden" value="2" />

            </div>
        </td>
        <td style="vertical-align:middle">
            a   
        </td>
        <td style="vertical-align:middle">
            b
        </td>
        <td style="vertical-align:middle">
            c
        </td>
        <td style="vertical-align:middle">
            d
        </td>
        <td style="vertical-align:middle">
            e
        </td>
        <td style="vertical-align:middle">
            f
        </td>
        <td style="vertical-align:middle">
            <input class="check-box" disabled="disabled" type="checkbox" />
        </td>
        <td style="vertical-align:middle">

        </td>

    </tr>
    <tr>
        <td style="vertical-align:middle">
            <div class="value">
                    <input type="checkbox" />
                <input id="item_DeviceInstanceId" name="item.DeviceInstanceId" type="hidden" value="3" />

            </div>
        </td>
        <td style="vertical-align:middle">
            a
        </td>
        <td style="vertical-align:middle">
            b
        </td>
        <td style="vertical-align:middle">
            c
        </td>
        <td style="vertical-align:middle">
            d
        </td>
        <td style="vertical-align:middle">
            e
        </td>
        <td style="vertical-align:middle">
            f
        </td>
        <td style="vertical-align:middle">
            <input class="check-box" disabled="disabled" type="checkbox" />
        </td>
        <td style="vertical-align:middle">

        </td>

    </tr>


</table>
<button class="btn btn-default" id="MakeReservation">Rezerwuj</button>

和 jQuery 代码:

$("#MakeReservation").click(function () {
    var Ids = new Array();
    $("input:checked").each(function () {
        Ids.push($.trim($(this).parentsUntil(".value").find("input").attr('value')));
    });
    console.log(Ids);
});                     

如果选中了相同的复选框,我想读取隐藏输入的值属性<div>。但是此时如果没有选中任何复选框,则JS返回第一个输入的值。如果复选框被选中,则代码返回值为 first 并且为选中复选框附近的输入为空。

在这里我的 JSFIDDLE谁能建议我如何修改我的 jQuery 代码?

4

1 回答 1

1

隐藏的输入字段是复选框的下一个兄弟,因此您可以使用

$("#MakeReservation").click(function () {
    var Ids =$("input:checked").map(function () {
        return $(this).next().val()
    }).get();
    console.log(Ids);
});

演示:小提琴

于 2014-03-04T11:04:24.463 回答