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



my html code.

<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代码

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

你可以像遵循算法一样做到这一点;

获取整个选择选项并将其放入数组中从选择框中删除所有选项把你从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/

最新更新