我没有得到任何输出我的onchange事件的单选按钮。 我想从4个单选按钮中选择3个并禁用文本输入字段,另一个启用文本输入。
目前我无法输出任何内容。
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 :(得分: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);
}
我希望你能帮忙。
答案 1 :(得分:1)
onChange()不适用于单选按钮,但它适用于复选框或选择。
为了检测无线电的选择动作,您必须使用onclick()函数。作为Supravat的回答,你需要通过&#34; this.value&#34;在onclick()函数中,您可以在javascript中获得所选值。