0

jquery コードがあります。最初に表示されるのは、コンボ ボックスまたは<select>タグだけです。たとえば、コンボ ボックスの最初のオプションをクリックすると、ボタンが表示されます。ボタンをクリックすると、ボタンが消えます。問題は、コンボ ボックスの最初のオプションをもう一度クリックすると、ボタンが表示されなくなることです。

Jクエリ:

$(document).ready(function(){

    $('.mySelect').change(function(){
        var thisValue = $(this).val();
        $('#'+thisValue).fadeIn(1000);
    });


    $('.myButton').click(function(){
        $(this).hide();
    });

     $('.myButton').hide();

});

HTML:

<select class="mySelect">
    <option value="">Select</option>
    <option value="myButton1">One</option>
    <option value="myButton2">Two</option>
    <option value="myButton3">Three</option>
    <option value="myButton4">Four</option>
    <option value="myButton5">Five</option>
</select>
<input type="button" value="Click 1" id="myButton1" class="myButton"/>
<input type="button" value="Click 2" id="myButton2" class="myButton"/>
<input type="button" value="Click 3" id="myButton3" class="myButton"/>
<input type="button" value="Click 4" id="myButton4" class="myButton"/>
<input type="button" value="Click 5" id="myButton5" class="myButton"/>
4

3 に答える 3

1

これを試して:

http://jsfiddle.net/ZJP4u/5/

$(document).ready(function(){

    $('.mySelect').change(function(){
        var thisValue = $(this).val();
        $('#'+thisValue).fadeIn(1000);
        $(".mySelect").val($(".myButton option:first").val());
    });


    $('.myButton').click(function(){
        $(this).hide();
    });

     $('.myButton').hide();

});
于 2013-10-09T12:27:18.327 に答える
0

もう一度「ONE」をクリックしても、SELECT変更されていないため表示されません。TWO をクリックしてから、もう一度 ONE をクリックしてみてください。ボタン 1 が表示されます。

あなたのjQueryでは、選択ボックスでオプション値が変更された場合にのみ、ボタンをフェードインしようとしています。

これが起こることです:

オプションで ONE を選択すると、button1 がフェードインします。button1 をクリックすると、消えます。ここで、すでに選択されているオプションである ONE を選択しているため、ONE をクリックしても CHANGE はトリガーされません。

于 2013-10-09T12:33:04.563 に答える