2016-04-04 2 views
1

Я хочу, чтобы включить текстовое поле, когда первый переключатель проверяется & если второе, то я хочу, чтобы отключить текстовое поле вот мой код, который не работает, пожалуйста, помогите ..Включение/отключение Textbox в JQuery

<label class="radio-inline"> 
    <input type="radio" value="Y" name="IsLive" class="grey"> 
    YES 
</label> 
<label class="radio-inline"> 
    <input type="radio" value="N" name="IsLive" class="grey"> 
    NO 
</label> 

<label class="col-sm-2 control-label"> 
    Live Date 
</label> 
<div class="col-sm-3"> 
    <input type="text" id="LiveDate" name="LiveDate" class="form-control date-picker"> 
</div> 
$('input:radio[name="IsLive"]').change(function() { 
    if ($(this).is(':checked') && $(this).val() == 'Y') { 
     // append goes here 
     $("#LiveDate").show(); 
    } else { 
     $("#LiveDate").prop("disabled", true); 
    } 
}); 
+0

использовать вместо $ ('вход: радио [имя =» IsLive "] ') используют $ ('. Gray ') для выбора –

+0

Возможный дубликат [JQuery - включить/отключить флажок] (http://stackoverflow.com/questions/2330209/jquery-checkbox-enable-disable) –

ответ

2

Вы можете достичь этого, просто установив свойство disabled на основании того, является ли значение выбранной радиостанции Y. Попробуйте это:

$('input:radio[name="IsLive"]').change(function() { 
    $("#LiveDate").prop("disabled", this.value != 'Y'); 
}); 

Working example

Обратите внимание, что я удалил условие :checked, потому что это избыточно для радио-кнопки, чтобы поднять новую change события необходимо проверить элемент.

+0

Как насчет 'this.value'? – Rayon

+1

@RayonDabre хорошая точка, обновлено. Спасибо –

+0

из вашего рабочего примера, если я добавлю disabled = "true" в LiveDate, то в обоих случаях он отключен, и если я его не добавлю, то это не поможет PLS-справке. –

0

Попробуйте это:

$('input:radio[name="IsLive"]').change(function() { 
 
    var bool = $(this).val() !== 'Y'; 
 
    //$("#LiveDate").show(); 
 
    $("#LiveDate").prop("disabled", bool); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<label class="radio-inline"> 
 
    <input type="radio" value="Y" name="IsLive" class="grey">YES 
 
</label> 
 
<label class="radio-inline"> 
 
    <input type="radio" value="N" name="IsLive" class="grey">NO 
 
</label> 
 

 
<label class="col-sm-2 control-label"> 
 
    Live Date 
 
</label> 
 
<div class="col-sm-3"> 
 
    <input type="text" id="LiveDate" name="LiveDate" class="form-control date-picker"> 
 
</div>

+0

hmm..True! ..... – Jai

0

Изменить код JQuery:

$("input#LiveDate").prop('disabled', true); 
 
$('input:radio[name="IsLive"]').change(function() { 
 
    if ($(this).is(':checked') && $(this).val() == 'Y') { 
 
    // append goes here 
 
    $("input#LiveDate").prop('disabled', false); 
 
    } else { 
 
    $("input#LiveDate").prop('disabled', true); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<label class="radio-inline"> 
 
    <input type="radio" value="Y" name="IsLive" class="grey"> YES 
 
</label> 
 
<label class="radio-inline"> 
 
    <input type="radio" value="N" name="IsLive" class="grey"> NO 
 
</label> 
 

 
<label class="col-sm-2 control-label"> 
 
    Live Date 
 
</label> 
 
<div class="col-sm-3"> 
 
    <input type="text" id="LiveDate" name="LiveDate" class="form-control date-picker"> 
 
</div>

+0

thanx для справки .. но в нижнем коде в обоих случаях текстовое поле hide..and Я хочу включить и отключить. –

Смежные вопросы