0

ラジオボタンから「1」を選択するとテストフィールドを表示するJSがあります。「0」を選択すると非表示になります。テキストフィールドが最初から非表示になっている間は機能しますが、データベースの値が「1」の場合にテキストフィールドをデフォルトとして表示したい場合は機能しません。

JS

$(document).ready(function() {
        $("#send_to_yes").hide();
        $("input:radio[name=\'article\']").change(function() {  
                if(this.value == \'1\' && this.checked){
                    $("#send_to_yes").show();
                }
                else {
                    $("#send_to_yes").hide();
                }
        });
});

HTML

Yes <input type="radio" name="article" value="1"> 
No <input type="radio" name="article" value="0">
<div id="send_to_yes">
       <b>Number</b> <br><input type="text" name="number"><br><br>
</div>

CSS

#send_to_yes {
        display: none;
}

「1」と「0」はデータベースから取得されます。このコードでは、「はい」を押す必要があり、テキスト フィールドが表示されます。「はい」にチェックが入っていても押す必要があります。デフォルトで「1」(はい)にチェックが入っていれば見えるようにしたいです。

4

3 に答える 3

4

私はあなたがこのようにしたいと思います

HTML

Yes <input type="radio" name="article" value="1" checked='checked'> 
No <input type="radio" name="article" value="0">
<div id="send_to_yes">
       <b>Number</b> <br><input type="text" name="number"><br><br>
</div>

JS

   $("input[type=radio]").change(function() {  
        if($(this).prop('value') == '1'){
                $("#send_to_yes").show();
            }
            else {
                $("#send_to_yes").hide();
            }
    });
于 2013-09-12T08:00:50.600 に答える
1

document.ready の後の最初の行でフィールドを非表示にしています。

$("#send_to_yes").hide();

したがって、デフォルトで YES が設定されているかどうかに関係なく、フィールドは非表示になります。ページを自動的に表示したい場合は、ページの読み込み後に change イベントを発生させる必要があります。

.toggle() 関数を使用して、非表示/表示を簡素化できます。また、ラジオ ボタンの DB から返された値に基づいて、フィールドの初期ロードを定義できます。

$(document).ready(function() {

    <?php
        if($radioValueFromDb == 1) {
           echo <<<JAVASCRIPT
               $("#send_to_yes").show();
JAVASCRIPT;
        } else {
           echo <<<JAVASCRIPT
               $("#send_to_yes").hide();
JAVASCRIPT;
        }
    ?>

    $('.clickIt').bind('click', function(){
        $("#send_to_yes").toggle();
    });

});

HTML を少し変更します。

Yes <input type="radio" name="article" class='clickIt' value="1"> 
No <input type="radio" name="article" class='clickIt' value="0">
于 2013-09-12T08:03:11.613 に答える
1

データベースの値に基づいて、 おそらくcheck/uncheckラジオボタンとdiv も必要です。hide/show

Yes <input type="radio" name="article" value="1" <?php if($value == 1){ echo 'checked'; } ?>> 

No <input type="radio" name="article" value="0" <?php if($value == 0){ echo 'checked'; } ?>>

<div id="send_to_yes" <?php if($value == 0){ echo 'style="display:none"'; } ?>>
       <b>Number</b> <br><input type="text" name="number"><br><br>
</div>

デフォルトで YES がチェックされている FDDLE

于 2013-09-12T07:57:15.033 に答える