使用javascript更改下拉列表的值

时间:2016-05-17 13:46:42

标签: javascript php codeigniter

我正在使用codeigniter框架,当我选中一个复选框时,我想要填写一些字段(它从其他字段获取数据)。

enter image description here

问题是我想用下一个下拉列表的值填充下拉列表。

这是我用来填充字段的javascript代码:

function FillinEmail(info) {

                if (info.checked)
                {
                    document.getElementById('adresse_fact').value = document.getElementById('adresse').value;
                    document.getElementById('npa_fact').value = document.getElementById('npa').value;
                    document.getElementById('nomprenom_fact').value = document.getElementById('nom').value + ' ' + document.getElementById('prenom').value;
                }
                else
                {
                    document.getElementById('adresse_fact').value = '';
                    document.getElementById('npa_fact').value = '';
                    document.getElementById('nomprenom_fact').value = ''; 
                }
              }

以下是我使用codeigniter进行下拉列表的方法:

<div class="form-group">
              <label class="col-md-2 control-label" for="id_npa_localite">Localité</label>   
              <div class="col-md-4">
                 <?php echo form_dropdown('id_npa_localite', $id_localite, null,'class="form-control"')?>
              </div>
           </div>

null值是我可以放置默认值的地方,这就是我在javascript方法中会改变的内容,但在这种情况下我不知道如何做到这一点,因为其他元素是html元素,它是容易做到。

1 个答案:

答案 0 :(得分:1)

我会给select一个ID,并在你的JS中使用innerHTML。以这种方式做到:

<select id="the_other">
    <option>test1</option>
    <option>test2</option>
    <option>test3</option>
</select>

<input type="checkbox" onchange="FillinEmail(this)">

<div class="form-group">
    <label class="col-md-2 control-label" for="id_npa_localite">Localité</label>
    <div class="col-md-4">
        <?php echo form_dropdown('id_npa_localite', $id_localite, null, 'id="ci_form" class="form-control"') ?>
    </div>
</div>

<script>
    function FillinEmail(info) {
        document.getElementById('ci_form').innerHTML = document.getElementById('the_other').innerHTML;

        /*
         if (info.checked) {
         document.getElementById('adresse_fact').value = document.getElementById('adresse').value;
         document.getElementById('npa_fact').value = document.getElementById('npa').value;
         document.getElementById('nomprenom_fact').value = document.getElementById('nom').value + ' ' + document.getElementById('prenom').value;
         }
         else {
         document.getElementById('adresse_fact').value = '';
         document.getElementById('npa_fact').value = '';
         document.getElementById('nomprenom_fact').value = '';
         }
         */
    }
</script>