13

特定のラジオがチェックされている場合にのみ、必要な属性を入力フィールドに挿入できますか?

デフォルトでは入力する必要のない「ladder-meters」という名前の入力フィールドがあります。ただし、ユーザーが「はしご」という名前のラジオ ボタンをオンにした場合は、「はしごメーター」フィールドに入力する必要があります。

私の入力は次のようになります。

<input type="text" name="ladder-meters" id="ladder-meters">

ラジオの onchange イベントでこれを気に入るはずです

<input type="text" name="ladder-meters" id="ladder-meters" required>
4

3 に答える 3

18
document.getElementById("ladder").addEventListener('change', function(){
    document.getElementById("ladder-meters").required = this.checked ;
})

チェックボックスがクリックされるたびに、必要な属性がチェックボックスのチェックされた属性と一致するように変更されます。この関係を逆にするにはthis.checked!this.checked

これは、特定のプロジェクトに合わせて調整する必要がある場合があります。

これは、このチェックボックスで機能します。

<input type='checkbox' id='ladder' name='ladder' />
于 2012-08-15T10:22:05.983 に答える
18

F. Orvalhoを試してみましたが、うまくいきませんでした。使用する必要がありました

$('#ladder').change(function () {
    if(this.checked) {
        $('#ladder-meters').prop('required', true);
    } else {
        $('#ladder-meters').prop('required', false);
    }
});

それは役に立つかもしれません。構造についてはF. Orvalhoに感謝します

于 2015-06-15T08:08:39.833 に答える
14

jQueryで簡単に達成できます:

$('#ladder').change(function () {
    if($(this).is(':checked') {
        $('#ladder-meters').attr('required');
    } else {
        $('#ladder-meters').removeAttr('required');
    }
});
于 2012-08-15T10:20:56.850 に答える