1

次のように入力を選択したときに次のdivを表示したいのですが、どうすればいいですか..

<div class="control-group">
            <label class="control-label" for="domain">Do you have a <a href="https://www.google.com/search?q=what+is+domain+&oq=what+is+domain+&aqs=chrome.0.69i57j69i65j69i60l2j0l2.2204j0&sourceid=chrome&ie=UTF-8">domain</a> ? </label>
            <div class="controls" name="domain">
                <select id="select">
                    <option value="0">Pick one</option>
                    <option value="1">Yes</option>
                    <option value="2">No</option>
                </select>
            </div>
        </div>


        <!-- the name of the domain -->

        <div class="control-group" style="display:none">
            <label class="control-label" for="domain_name">Domain name ? </label>
            <div class="controls" name="domain_name">
                {{ Form::text('domain_name', null, array('required')) }}
                <p class="help-block"><b>http://domain.com</b></p>
            </div>
        </div>

私が使ったJquery

 jQuery(document).ready(function($) {
 // show the inputs that is hidden 
 $('#select').on('change', function(){
    if($(this).val() == '1')
    {
        $(this).parent('.control-group').next('.control-group').show();
    }
 })
 });
4

3 に答える 3

2

ここで.closest()を使用する必要があります

$(this).closest('.control-group').next('.control-group').show();
于 2013-08-13T10:37:41.570 に答える
0

いいえ:

$(this).parent('.control-group').next('.control-group').show();

しかし:

$(this).parent(".controls").parent('.control-group').next('.control-group').show();

それは役立つはずです

編集: Arun P Johnyの回答は私が思う最高のものです:D

于 2013-08-13T10:40:14.943 に答える
0

これを使って:

$(this).parent().parent().next(".control-group").show();

この助けを願っています

于 2013-08-13T10:47:46.567 に答える