如何在动态运行时选择下拉列表

时间:2014-02-13 08:00:22

标签: javascript php html

我的HTML代码。

<input type="button" onClick="show($row['empDesignation']?>');" value="update"/>

所以当我点击更新按钮m将值传递给javascript

 <script type="text/javascript">
   function show(desig){
    document.getElementById("designation").value=desig;
    }
    </script>

所以我希望传递给javacript的值首先列在下拉列表中

php code

<select id="designation" name="designation"> 
     <? while($role=mysql_fetch_array($sql_role)){    ?>
         <option value="<?=$role['id']?>"><?=$role['id']?></option>
    <? } ?></select>

2 个答案:

答案 0 :(得分:0)

<option value="<?php echo $role['id']?>"><?php echo  $role['id']?></option>

答案 1 :(得分:0)

你可以像下面的算法那样做;

获取整个选择选项并将其放入数组中 从selectbox中删除所有选项 放置从show函数获得的第一个选项 将项目的其余部分从数组填充到选择框。

您可以在下面看到一个示例;

  function show(desig) {
    var arr = [];
    var list = document.getElementById("designation");
    for (var i = 0; i < list.options.length; i++) {
    arr.push(list.options[i]);
    } 

    // Delete all options from selectbox
    list.options.length = 0;

    // create first option
    var opt = document.createElement('option');
    opt.innerHTML = desig;
    opt.value = desig;
    list.appendChild(opt);


    for (var j in arr) {
    if (arr[j].value !== desig) {
    var opt = document.createElement('option');
    opt.innerHTML = arr[j].text;
    opt.value = arr[j].value;
    list.appendChild(opt);
    }
    }
}

您可以在此处查看工作演示: http://jsfiddle.net/rZmgY/1/