8

私は次のビューを持っていますが、set_valueデフォルトで選択しないで適用するにはどうすればよいですか?

<label for="add_fields_type">Type: </label>
<select name="add_fields_type" id="add_fields_type">
    <option value="">Please Select</option>
    <option value="<?php echo set_value('input'); ?>">Input</option>
    <option value="<?php echo set_value('textarea'); ?>">Text Area</option>
    <option value="<?php echo set_value('radiobutton'); ?>">Radio Button</option>
    <option value="<?php echo set_value('checkbox'); ?>">Check Box</option>
</select>

アップデート:

意見:

<label for="add_fields_placeholder">Placeholder: </label>
    <select name="add_fields_placeholder" id="add_fields_placeholder">
        <option value="">Please Select</option>
        <option value="<?php echo set_value('yes'<?php echo set_select('add_fields_placeholder','yes', ( !empty($placeholderType) && $placeholderType == "yes" ? TRUE : FALSE ));?>">Yes</option>
        <option value="<?php echo set_value('no' <?php echo set_select('add_fields_placeholder','no', ( !empty($placeholderType) && $placeholderType == "no" ? TRUE : FALSE )); ?>">No</option>
    </select>

    <label for="add_fields_placeholderValue">Placeholder Text: </label>
    <input type="text" name="add_fields_placeholderValue" id="add_fields_placeholderValue" value="<?php echo set_value('add_fields_placeholderValue'); ?>">

    <label for="add_fields_type">Type: </label>
<select name="add_fields_type" id="add_fields_type">
    <option value="">Please Select</option>
    <option value="input" <?php echo set_select('add_fields_type','input', ( !empty($fieldType) && $fieldType == "input" ? TRUE : FALSE )); ?>>Input</option>
    <option value="textarea" <?php echo set_select('add_fields_type','textarea', ( !empty($fieldType) && $fieldType == "textarea" ? TRUE : FALSE )); ?>>Text Area</option>
    <option value="radiobutton" <?php echo set_select('add_fields_type','radiobutton', ( !empty($fieldType) && $fieldType == "radiobutton" ? TRUE : FALSE )); ?>>Radio Button</option>
    <option value="checkbox" <?php echo set_select('add_fields_type','checkbox', ( !empty($data) && $data == "checkbox" ? TRUE : FALSE )); ?>>Check Box</option>
</select>

コントローラ:

$data['fieldType'] = $this->input->get('add_fields_type');
$data['placeholderType'] = $this->input->get('add_fields_placeholder');

16行目:

<option value="<?php echo set_value('yes'<?php echo set_select('add_fields_placeholder','yes', ( !empty($placeholderType) && $placeholderType == "yes" ? TRUE : FALSE ));?>">Yes</option>
4

6 に答える 6

10

これは役立つはずです:

コントローラー(test.php)

<?php
    class Setup extends CI_Controller {

        function index() {
            //for the set_select() function
            $this->load->library('form_validation');

            //for base_url() function
            $this->load->helper('url');

            $list['data'] = $this->input->get('add_fields_type');

            $this->load->view('test_view.php', $list);
        }
?>

ビュー(test_view.php)

<!DOCTYPE HTML>
<html>
<body>
<form action="<?php echo base_url(); ?>test">
    <label for="add_fields_type">Type: </label>
    <select name="add_fields_type" id="add_fields_type">
        <option value="">Please Select</option>
        <option value="input" <?php echo set_select('add_fields_type','input', ( !empty($data) && $data == "input" ? TRUE : FALSE )); ?>>Input</option>
        <option value="textarea" <?php echo set_select('add_fields_type','textarea', ( !empty($data) && $data == "textarea" ? TRUE : FALSE )); ?>>Text Area</option>
        <option value="radiobutton" <?php echo set_select('add_fields_type','radiobutton', ( !empty($data) && $data == "radiobutton" ? TRUE : FALSE )); ?>>Radio Button</option>
        <option value="checkbox" <?php echo set_select('add_fields_type','checkbox', ( !empty($data) && $data == "checkbox" ? TRUE : FALSE )); ?>>Check Box</option>
    </select>
    <input type="submit" />
</form>
</body>
</html>

注:の3番目のパラメーターは、set_select()それを選択するかどうかを決定します

于 2012-08-09T11:49:51.780 に答える
5

Abidが言ったことのように、フォームの検証後にset_value()を使用するだけです。

form_dropdown('add_fields_type', $field_types, set_value('field_type'));
于 2013-05-01T20:56:56.877 に答える
3

これを試して:

<option value="<?php echo set_value('textarea'); ?>" <?php echo (set_value('textarea')=='TEXTAREA')?" selected=' selected'":""?>>Text Area</option>

TEXTAREAの上は、オプションで期待される値です。

于 2012-08-09T04:11:18.563 に答える
0

これを試して :-

URLを参照してください:-http: //codeigniter.com/user_guide/helpers/form_helper.html

$options = array(
                  'small'  => 'Small Shirt',
                  'med'    => 'Medium Shirt',
                  'large'   => 'Large Shirt',
                  'xlarge' => 'Extra Large Shirt',
                );

$shirts_on_sale = array('small', 'large');

echo form_dropdown('shirts', $options, 'large');

//生成します:

<select name="shirts">
<option value="small">Small Shirt</option>
<option value="med">Medium Shirt</option>
<option value="large" selected="selected">Large Shirt</option>
<option value="xlarge">Extra Large Shirt</option>
</select>

echo form_dropdown('shirts', $options, $shirts_on_sale);

//生成します:

<select name="shirts" multiple="multiple">
<option value="small" selected="selected">Small Shirt</option>
<option value="med">Medium Shirt</option>
<option value="large" selected="selected">Large Shirt</option>
<option value="xlarge">Extra Large Shirt</option>
</select>
于 2012-08-09T04:23:16.277 に答える
0

set_selectを使用するには、問題のフィールドの検証ルールが必要です。ここで同様の質問に対する私の答えを参照してください: form_dropdownのCodeIgniter select_value

于 2014-12-14T23:21:59.740 に答える
0

javascript(tested)を使用する方がはるかに簡単です

<select name="add_fields_type" id="add_fields_type">
 <option value="">Please Select</option>
 <option value="Input">Input</option>
 <option value="Text Area">Text Area</option>
 <option value="Radio Button">Radio Button</option>
 <option value="Check Box">Check Box</option>
</select>


 <script>
    document.getElementById('select_status').value="<?php echo set_value('status'); ?>";
 </script>
于 2020-02-04T02:30:05.867 に答える