1

ラジオボタンから選択した値に基づいてテーブルの行を非表示にしたい。これらのラジオ ボタンは、ドロップダウン リスト ボックスから選択された値に基づいて作成されました。

これが私のコードです

リストボックスの HTML コード

<select name="txtLT" id="LT" >
    <option value="a">a</option>
    <option value="b">b</option>
    <option value="c">c</option>
</select>

Jクエリ

$(document).ready(function() {
    $("#LT").change(function() {
        var selVal = $(this).val();
        $("#tblerow").html('');
        if(selVal == 'c') {
            $("#tblerow").append('<td><input type="radio" id="cmpof" name="cmpof" value="1" onclick="show()" />1 <input type="radio" id="cmpof"  name="cmpof" value="2"  onclick="hide()"/>2</td>');            
        }
    });
});

ここで、ラジオ ボタン 2 が選択されている場合、tr2 を含むテーブル行が消えるはずです。解決策を見つけるのを手伝ってください。

編集

以下の JavaScript を試してみましたが、行が非表示になりません。

function show() { document.getElementById('sbjrow').style.display = 'block'; }
function hide() { document.getElementById('sbjrow').style.display = 'none'; }

ここで何が間違っているのか教えてください。

4

1 に答える 1

1

hidejQuery のandshow関数を次のように使用できます。

$(function () {
    $('#LT').change(function () {
        if ($(this).val() == 'c') {
            $('.radios').show();
        } else {
            $('.radios').hide();
        }
    });
    $('input[name=cmpof]').change(function () {
        if ($('#LT').val() == 'c' && $(this).val() == 'bar') {
           $('#table tr').eq(1).hide(); 
        } else {
           $('#table tr').eq(1).show(); 
        }
    });
});

テーブル行をデフォルトで表示したくない場合は、css を使用してください。

JsFiddle の例: http://jsfiddle.net/AX5TJ/1/
必要なものに近い更新バージョン: http://jsfiddle.net/AX5TJ/2/

また、スクリプトに構文エラーがあることに注意してください。定義するとき$("#LT").change(function() {は、で閉じる必要があります});

于 2013-02-26T23:51:49.830 に答える