0

このテーブルは非常に大きくなる可能性があり、左側のチェックボックスで選択できる単一の行が含まれているか、グループを独自に選択してすべての個人を選択できる独自の行を含むグループを含めることができますそのグループの行。今、私はこのように見える各関数をクエリしています...

$('tbody :checked').each(function() {
    //row counter here
    if ($(this).prev("input:checkbox").is(':checked')){

したがって、これはどの行がチェックされているかを確認するためにチェックし、次に、この「If」ステートメントが機能していないことを確認します。基本的に各行には入力値がありますが、チェックボックスが選択されていない入力でこのコードを実行したくありません。したがって、各関数で、前のチェックボックスがチェックされているかどうかをチェックし、チェックされている場合はコードを続行し、チェックされていない場合はスキップします。ただし、個々の行に対してこれを簡単に実行できますが、グループには多数のテーブル行が含まれている可能性があるため複雑であるため、最も近いテーブル行を要求してチェックボックスがオンになっているかどうかを確認することはできません。

では、自分がいる入力ボックスの前の最初のチェックボックスがチェックされているかどうかを簡単に確認するにはどうすればよいですか。

ありがとう

編集...
これは単一の行です...

<tr class="LotTableRow">
    <td class="ColLot" colspan="2">
        <label style="font-size: 90%; font-weight: normal; height: 10px">
            <input checked="checked" id="3" name="BidderLot" onclick="participateOnClick(this);" type="checkbox" value="true"><input name="BidderLot" type="hidden" value="false">                                          New Lot
        </label>
    </td>
    <td class="ColQuantityRow">
        90
    </td>
    <td class="ColStartBid">
        <input class="text-box single-line BidderLotText" name="[0].BidderLots[0].StartBid" type="text" value="" alt="N/A" autocomplete="off">
    </td>
</tr>

これはグループになる可能性がありますが、永遠に続く可能性があります...

<tr class="LotTableRow" style="display:table-row">
    <td class="ColGroup" colspan="2">
        <input name="[2].AuctionId" type="hidden" value="c7df8b82-afa8-4709-ae08-f986523e38b9">
            <input name="[2].LotGroupId" type="hidden" value="3cca6186-db7e-411b-975c-f97e7c10119c">
        <label>
            <input checked="checked" id="3cca6186-db7e-411b-975c-f97e7c10119c" name="BidderGroup" onclick="participateOnClick(this)" type="checkbox" value="true"><input name="BidderGroup" type="hidden" value="false">                                            dfgdfgdfg
        </label>
    </td>
    <td class="EnglishBidderLotCol">
    </td>
</tr>
<tr class="LotTableRow">
    <td class="LotTableSpace">
    </td>
    <td class="ColLot">
        New Lot
    </td>
    <td class="ColQuantityRow">
        20
    </td>
    <td class="ColStartBid">
        <input class="text-box single-line BidderLotText watermark" name="[2].BidderLots[0].StartBid" type="text" value="" alt="N/A">
    </td>
</tr>
4

2 に答える 2

0

うーん、別の方法でどうですか?

  1. チェックされた各項目を取得します。

    jQuery("ボディ入力:チェックボックス")

  2. 各アイテムを処理する

    jQuery("tbody input:checkbox").find("コードを実行するために探しているものは何でも").each(function() {});

これが役立つことを願っています

于 2013-01-14T15:23:03.050 に答える
0

各 tr 内に 1 つのチェックボックスがあると仮定すると、これは機能するはずです。

if ($(this).parents('tr:eq(0)').prev().find('input[type="checkbox"]:checked').length){

TD 要素内に前のチェックボックスがないため、前のセレクターは一致しません。しかし、HTML を投稿していないので、それは私の推測にすぎません。

于 2013-01-14T15:15:36.757 に答える