2015-02-28 7 views
1

Я не получаю никакого вывода для своего события onchange для переключателя. Я хочу выбрать 3 из 4 переключателей и отключить текстовое поле ввода, а другое - ввести текст.cant get radio button onchange для работы в cakephp

В настоящее время я не могу получить его для вывода чего-либо.

echo $this->Form->input('startDate',array('id'=>'startdatebox','label' => 'Start Date','class'=>'datepicker', 'type'=>'text','style'=>'width:100px;height:30px','value' => $datestart)); 

    .. 

echo $this -> Form -> input('dateRange', 
       array('id'=>'dateRange2','label' => '<h6>Date Range</h6>','type' => 'radio', 
       'value' =>$dateSelect,'name'=>'dateRange2' ,'options' => $selectoption)) 

;

<script type="text/javascript"> 
$("input[name='data[User][dateRange2]']").on("click",function() { 
$('#startdatebox, #enddatebox').prop('disabled', $(this).val() != 3); 
    alert('aasda'); 
}); 
+0

В вашем коде отсутствует никаких изменений. Пожалуйста, исправьте свой заголовок/вопрос или заполните свой код. – ndm

ответ

1

onChange() не работает для переключателя, но он работает для флажка или выбирает.

Чтобы обнаружить действие выбора для радиостанций, вместо этого вы должны использовать функцию onclick(). Как ответ Сутравата, вам нужно передать «this.value» в функции onclick(), и вы получите выбранное значение в javascript.

2

Первый вызов onclick на кнопке радио, так как

echo $this -> Form -> input('dateRange', 
    array('id'=>'dateRange2', 
     'label' => '<h6>Date Range</h6>', 
     'type' => 'radio', 
     'value' =>$dateSelect, 
     'name'=>'dateRange2' , 
     'options' => $selectoption, 
     'onclick'=> 'myFunc(this.value)' 
    ) 
); 

Тогда Добавить Javascript

<script type="text/javascript"> 
function myFunc(val) { 
    if(val != 3) { 
     document.getElementById("startdatebox").disabled = true; 
     document.getElementById("enddatebox").disabled = true; 
    } else { 
     document.getElementById("startdatebox").disabled = false; 
     document.getElementById("enddatebox").disabled = false; 
    } 
} 
</script> 

Или изменить отключенный свойство поля ввода с помощью JQuery 1.6 +

function myFunc(val) { 
     $('#startdatebox, #enddatebox').prop('disabled', $(this).val() != 3); 
} 

Надеюсь, вы можете помочь.

+0

Ницца, он работает! – yuchaozh