0

私は大規模な製品に取り組んでいますが、私の人生ではこれを機能させることができません。私の問題は、チェックボックスとドロップダウンボックスのIDが動的であるため、単にそれらを参照できず、htmlを編集して別のものを与えることができないことです。ただし、それらを Div に含めて、それらを参照するクラス名を付けることができます (div.blaaah select)。

チェックボックスが選択されているときにドロップダウンボックスを無効にするJSを調査して作成しようとしましたが、参照の問題により実行できません。

また、これをページ上の多くの領域に適用したいと考えています (約 65 個のチェックボックスで、対応するドロップダウン ボックスのペアが無効になります)。たとえば、次のようになります。

例

ドロップダウン ボックスを含む各 div は、それを無効にするチェックボックスを含む div の次の要素であるため、.next() などを使用できると思っていましたが、Js に関する私のスキルは十分ではありません。

私は多くのことを試みましたが、私が目指している一般的なアイデアは、次の試みの混乱に沿っています。

$(".NACheck input").click(function() {
$(this).next(".importSelect select").disabled=true;
});

これは要素の階層です。

<td>
  <div>
    <div class="checkNA">
      <table>
        <tbody>
          <tr>
            <td>
              <span>
                <table>
                  <tbody>
                    <tr>
                      <td>
                        <INPUT: CHECKBOX />
                      </td>
                      <td>
                      </td>
                    </tr>
                  </tbody>
                </table>
              </span>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
  </div>
</td>
<td>
  <div>
    <div class="importSelect">
      <table>
        <tbody>
          <tr>
            <td>
              <span>
                <SELECT />
              </span>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
  </div>
</td>
<td>
  <div>
    <div class="RelSelect">
      <table>
        <tbody>
          <tr>
            <td>
              <span>
                <SELECT />
              <span>
            </td>
          </tr>
        <tbody>
      </table>
    </div>
  </div>
</td>    

どんな助けでも大歓迎です!ありがとうございました。

4

3 に答える 3

1

これを試して :

$(".NACheck input").click(function() {
    $('select', $(this).parents('.container-of-each-line')).attr('disabled', 'disabled');
});
于 2013-09-20T11:09:44.613 に答える
0

select boxsあなたがnext two elements後にいると仮定してcheckbox

onchangeとして各チェックボックスにまたはonclickイベントを追加します

this.nextSibling.disabled = this.checked;
this.nextSibling.nextSibling.disabled = this.checked;
于 2013-09-20T11:12:07.557 に答える
0

これが役立つかもしれません:

$(this).parents('div containing checkbox').next().children().attr("disabled", true);

これをチェックしてくださいhttp://jsfiddle.net/ZBymu/

于 2013-09-20T11:35:31.367 に答える