2

私はこれに非常に慣れておらず、知識も限られています(過去数週間ですべて独学で学びました)。私は他の人が尋ねた同様の質問からいくつかの解決策を試しましたが、どれも私にはうまくいかないようです。

'date_range' divを、'range'フィルターが選択されている場合にのみ表示されるように設定しようとしています。私はjQuery1.8.2とjQueryUI1.9($ .noConflict();で設定)を使用しています。

私のコードは以下のとおりです(親切にしてください、私はこれがあまり得意ではないことを知っています)、どんな助けでもありがたいです。

<script>
$('#filters').is(function() {
if ($('#range').attr('checked')) {
    $('#date_range').show();
} else {
    $('#date_range').hide();
}
});
</script>

    <div>
        <form align="center" id="filters">
            <input type="radio" id="last24" name="filter_radio" checked="checked"/><label for="last24">Last 24hrs</label>
            <input type="radio" id="WTD" name="filter_radio" /><label for="WTD">WTD</label>
            <input type="radio" id="last_week" name="filter_radio" /><label for="last_week">Last Week</label>
            <input type="radio" id="range" name="filter_radio" /><label for="range">Range</label>
                <div id="date_range">
                    <br />
            <label for="from">From: </label><input type="text" id="from" name="from"/>
            <label for="to">To: </label><input type="text" id="to" name="to" />
                </div>
        </form>     
    </div>

4

4 に答える 4

6

このコードを試してください

$(function(){

    $('#date_range').hide();

    $('#filters').on('click' ,'input[type=radio]', function(){
        if (this.id == "range" && this.checked) {
            $('#date_range').show();
        } else {
            $('#date_range').hide();
        }
    });

});

このデモをチェックしてください

それが役立つことを願っています

于 2012-10-30T12:06:57.190 に答える
3

このコードを試してください:-

これは非表示および表示するjqueryです:-

<script type="text/javascript" src="http://code.jquery.com/jquery.min.js" ></script>
<script>
function asfd(str)
{
if(str==true)
{
jQuery('div#renew').show();
}
else
{
jQuery('div#renew').hide();
}
}
</script>

これは、Jquery関数が呼び出される場所です:-

<input type="checkbox" autocomplete="off" onchange="asfd(this.checked);"/>

これは、非表示または表示するdivです:-

<div id="renew" style="display: none ;">
........Content.........
</div>
于 2012-10-30T12:12:41.810 に答える
0

あなたはこれを試すことができます

マークアップ

<label><input id="last24" type="radio" name="filter_radio" value="1" />Last 24hrs</label>
<label><input id="WTD" type="radio" name="filter_radio" value="2" />WTD</label>
<label><input id="last_week" type="radio" name="filter_radio" value="3" />Last Week</label>
<label><input id="range" type="radio" name="filter_radio" value="4" />Range</label>

<div id="filter_radio-4" class="toHide" style="display:none">
    <br />
            <label for="from">From: </label><input type="text" id="from" name="from"/>
            <label for="to">To: </label><input type="text" id="to" name="to" />
</div>

Javascript

$(function() {
    $("[name=filter_radio]").click(function(){
            $('.toHide').hide();
            $("#filter_radio-"+$(this).val()).show('slow');
    });
 });​

デモ:http://jsfiddle.net/chridam/FSrBC/

于 2012-10-30T12:18:45.680 に答える
0

あなたはこれでそれを達成することができます

$('#date_range').hide();

$('[name=filter_radio]').on('click', function(){
    if($('#range').is(':checked')){
        $('#date_range').show();
    } else {
        $('#date_range').hide();
    }
});

そのシンプルで明確なことを願っています..

于 2012-10-30T12:10:50.613 に答える