1

2つのラジオボタンがあるフォームがあります。

HTMLテーブルの編集リンクをクリックすると、dbから受け取った値の値に応じてラジオボタンの値がチェックされます。

次のコードを試しました。しかし、値に応じてラジオボタンがチェックされていません。常に最初のラジオボタンをチェックしました。

この問題を解決するのを手伝ってください。

ページを表示

<label for="level1" ><input type="radio" id="level1" name="menu_type" value="1" <?php echo set_radio('fmenu_type', '1', TRUE); ?> />Do't have sub menu</label>
<label for="level2"  ><input type="radio" id="level2" name="menu_type" value="2" <?php echo set_radio('fmenu_type', '2'); ?> />Having Sub Menu</label>
<?php echo form_submit($submitbtn); 

コントローラ

 if((int)$mainmenu_id > 0)//this is for edit ,when value id is greater then 0
  {    
       $query = $this->mainmenumodel->get($mainmenu_id);
       $data['fmainmenu_id']['value'] = $query['mainmenu_id'];
       $data['fmenu_name']['value'] = $query['menu_name']; 
       $data['menu_type']  ['value'] = $query['menu_type']; //i am trying to set through this
       $data["query"] = $this->mainmenumodel->fetch_mainmenu_data($config["per_page"], $page);
       $data["links"] = $this->pagination->create_links();

        $data['fmenu_type']['value'] = $query['menu_type']; 

         $this->load->view('admin/setups/mainmenu/index',$data);  
  }
4

1 に答える 1

1

変数の内容に応じて、3番目のパラメーターを変更する必要があり$dataます。

したがって、似たようなものがあります。

<label for="level1" ><input type="radio" id="level1" name="menu_type" value="1" <?php echo set_radio('fmenu_type', '1', $menu_type['value'] == '1'); ?> />Do't have sub menu</label>
<label for="level2"  ><input type="radio" id="level2" name="menu_type" value="2" <?php echo set_radio('fmenu_type', '2', $menu_type['value'] == '2'); ?> />Having Sub Menu</label>
<?php echo form_submit($submitbtn);

ここでドキュメントを確認すると、3番目の引数でラジオボタンのどれを選択するかが指定されていることがわかります。データに基づいて適切な条件を指定する必要があります。

編集:コードを更新したので、おそらく期待どおりに機能します。考え方は次のとおりです。trueの場合、set_radio関数は3つの引数を取ることができ、それ以外の場合はラジオボタンが選択されます。たとえば、このコードは常にデフォルトでチェックされているラジオボタンを配置します。(name, value, is_checked)is_checked

<label for="level1" ><input type="radio" id="level1" name="menu_type" value="1" <?php echo set_radio('fmenu_type', '1', TRUE); ?> />Do't have sub menu</label>

常に選択されることを望まないので、条件を指定する必要があります。条件は、選択されるtruefalseどうかにかかわらず、またはのいずれかになります。$menu_type['value']これが、の値をと比較した理由です'1'。このコードはビューにあり、コントローラーからこれを渡すため、渡されるデータにアクセスする方法は、$data渡した配列のキー(この場合は、、、menu_typeなど)を使用することです。linksquery

于 2013-03-23T22:36:09.797 に答える