无法让单选按钮 onchange 在 cakephp 中工作

cant get radio button onchange to work in cakephp

我的单选按钮 onchange 事件没有得到任何输出。 我想要 select 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');
});

首先在您的单选按钮上调用 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);
 }

希望能帮到你

onChange() 不适用于单选按钮,但它适用于复选框或 select。

为了检测无线电的 select 操作,您必须改用 onclick() 函数。作为 Supravat 的回答,您需要在 onclick() 函数中传递 "this.value",然后在 javascript.

中获得 selected 值