5

jQuery を使用して最初のステップを実行していますが、問題に適したセレクターを選択するために助けが必要です。Django テンプレートに次の HTML があります。

{% for field in form %}

    <div class="control-group">

        <label class="control-label" for="{{ field.label }}">{{ field.label }}</label>

        <div class="controls">

            {% if field.html_name == "field_1" %}

                <input class="input-xlarge" id="{{ field.label }}" type="text" name="{{ field.html_name }}" />

            {% elif field.html_name == "field_2" %}

                <input class="input-mini" id="{{ field.label }}" type="text" name="{{ field.html_name }}" />

            {% endif %}

        </div>

    </div>

{% endfor %}

<input />次のセレクターがあるフィールドで何かをする必要があります。

var $inputField1 = $('input[name="field_1"]');
var $inputField2 = $('input[name="field_2"]');

私の問題は、 this のクラスを変更するために<div class="control-group"></div>、特定のフィールドに対して aを選択できるようにする必要があることです。それ、どうやったら出来るの?そのために親セレクターが必要ですか? 私は少し混乱しています。助けてください。どうもありがとうございました!<input /><div>

4

4 に答える 4

8

セレクターだけではできません。現在行っているように入力要素を選択し、.closest()メソッドを使用して祖先を取得する必要がありdivます。

var controlGroup = $('input[name="field_1"]').closest('.control-group');
于 2012-11-22T12:23:08.577 に答える
3

.closest() を使用できます。

var $inputField1 = $('input[name="field_1"]');
var $targetDiv = $inputField1.closest('.control-group');

または、parent() を使用します。

var $inputField1 = $('input[name="field_1"]');
var $targetDiv = $inputField1.parents('.control-group:eq(0)');

.closest() は、すべての DOM を反復処理しないため、優れています。

于 2012-11-22T12:23:47.853 に答える
2

jQuery .closest() を調べます。

http://api.jquery.com/closest/

...より具体的な回答が必要な場合は、入力で何をしたいのか教えてください:)

于 2012-11-22T12:26:48.390 に答える
0

あなたが使用することができます

$('input[name="field_1"]').parents('.control-group:first')
于 2012-11-22T12:23:36.927 に答える