0

拒否チェックボックスがオンになっているときにドロップダウンを作成しようとしています。私はこれをJqueryで簡単に行いましたが、取り込まれたすべてのデータに関数が必要なため、クラスを次の行にコピーするなどして、拒否ボタンをチェックするとすべてのドロップダウンテキスト領域が開きます理由を入力します。無制限の量のデータに対してこれを作成する方法を考えていました????? そのため、1 つのドロップダウン テキストエリアしか開きません。

PHPの子育てでこれを行うことができることをオンラインで読みましたか? 私のPHPスキルは控えめに言っても弱いので、これについてもっと簡単な方法はありますか?

HTML 名前 ユーザー名 電子メール 検証 拒否

        if ($supplier['Id'] != '3') { ?>
        <tr class="unverifiedSuppliers">
          <td width="150"><?php echo $supplier['Name']; ?></td>
          <td width="150"><?php echo $supplier['Username']; ?></td>
          <td width="250"><?php echo $supplier['Email']; ?></td>
          <td width="40"><input type='checkbox' name='verifySupplier[]' value='<?php echo $supplier['Id']; ?>' /></td>
          <td width="40"><input class="checked" type='checkbox' name='rejectSupplier[]' value='<?php echo $supplier['Id']; ?>' /></td>
        </tr>           
        <tr class="dropdown" style="display: none;">
          <td colspan="5">
            <label>Reason:</label>
            <textarea name="rejectReason[<?php echo $supplier['Id']; ?>]"></textarea>
          </td>
        </tr>
        <?php } } ?>
      </table>


Jquery

$(function() {
$('.checked').change(function() {
    $('.dropdown').toggle();
});
});
4

1 に答える 1

1

試す :

$('.checked').change(function() {
    $(this).closest('tr').next('.dropdown').toggle();
});

$(this)変更した DOM 要素です。

.closest('tr')jQueryセレクター「tr」で最も近い親を探しています。つまり、最も近い<tr></tr>.

.next('.dropdown')jQueryセレクター「.dropdown」ですぐ隣の兄弟を探しています。

補足- ここでセレクターを使用するのは任意です。次の要素に class がない場合は空の要素を返すだけdropdownです。

于 2013-07-30T19:02:19.593 に答える