1

別のラジオボタンをクリックすると別のコンテンツが表示される単純なjQueryコードについて誰かが助けてくれますか。
http://jsfiddle.net/AXsVY/

HTML

<label class="radio inline">
    <input id="up_radio" type="radio" name="optionsRadios" value="update" checked>
    Update
</label>
<label class="radio inline">
    <input id="ov_radio" type="radio" name="optionsRadios" value="overwritten">  
    Overwritten
</label>

<p id="cont">
    sth. here
</p>

JavaScript

$("#up_radio").click(function(){

    if ($("#up_radio").is(":checked")) {

        //change to "show update"
         $("#cont").value = "show update";

    } else if ($("#ov_radio").is(":checked")) {

       // change to "show overwritten"
    }
});
4

3 に答える 3

13

http://jsfiddle.net/AXsVY/2/

クリックではなく変更時に使用します。クリック トリガーは変更されますが、ユーザーはタブで移動して矢印キーを押すこともできます。それは常にchangeです。

$('input[name="optionsRadios"]').on('change', function(){
    if ($(this).val()=='update') {
         //change to "show update"
         $("#cont").text("show update");
    } else  {
         $("#cont").text("show Overwritten");
    }
});

また、値を設定する正しい構文は次のとおりです$("#something").val("the value");が、この場合 #cont は div であるため、.text()orを使用する必要があります.html()

于 2013-03-07T02:36:39.923 に答える
3

あなたのアプローチに基づいて解決されました..実行できる最適化は他にもありますが、ほとんどそのまま残しました。

http://jsfiddle.net/digitalextremist/mqrHs/

フィドルの外側のコードは次のとおりです。

$(".radio input[type='radio']").on( 'click', function(){
    if ($("#up_radio").is(":checked")) {
         $("#cont").html( "show update" );
    } else if ($("#ov_radio").is(":checked")) {
         $("#cont").html( "show overwritten" );
    }
});
于 2013-03-07T02:41:41.063 に答える
0
   $("input:radio[name=optionsRadios]").click(function() {
        var value = $(this).val();

        if(value="update")
          $("#cont").text("show update");   
       else
         $("#cont").text("show update other");

    });
于 2013-03-07T02:37:10.203 に答える