首先,我是在 编写 PHP 时遇到的问题的。是关于 select 的 问题,不知道发在这有没有违规。如有请告之,谢谢!!先给个预想中的页面截图给各位高手看一下:  (图一)
然后后在左边的 订单状态呢里,我想用 select 来供我后期修改相关的状态:  (图二)
本人对JS 完全陌生,百度了一些代码,功能:先将select 设为 disable ,然后通过 JS 控制 点击 “改变状态” 按钮来去掉 select 的 disable  另其可选。选择后,点击确定,提交表单...试了可以,但是,只是如   图二   般,只允许我改 最上面的一个状态,别的状态是点击了没有任何反应。
附上代码:
======   JS 代码 ======
<script language="javascript" type="text/javascript">
    window.onload = function(){
        document.getElementById("btn").onclick = function(){
            var sel = document.getElementById("status");
            sel.disabled = sel.disabled ? false : true;
        }
    };
</script>
============下拉选择的 部分代码:
============
...
echo "<div class='order_status'>";  //订单状态
    echo "<form name='status_change' action='schange.php' method='post'>";
    echo "<select name='status' id='status' disabled='disabled'>";
        if ($_status=='完成') {
            echo "<option selected='selected' value='完成'>完成</option>";
            echo "<option value='未完成'>未完成</option>";
            echo "<option value='失效'>失效</option>";
            echo "<option value='已发货'>已发货</option>";
        } elseif ($_status=='未完成') {
            echo "<option value='完成'>完成</option>";
            echo "<option selected='selected' value='未完成'>未完成</option>";
            echo "<option value='失效'>失效</option>";
            echo "<option value='已发货'>已发货</option>";
        } elseif ($_status=='失效') {
            echo "<option value='完成'>完成</option>";
            echo "<option value='未完成'>未完成</option>";
            echo "<option selected='selected' value='失效'>失效</option>";
            echo "<option value='已发货'>已发货</option>";
        } else {
            echo "<option value='完成'>完成</option>";
            echo "<option value='未完成'>未完成</option>";
            echo "<option value='失效'>失效</option>";
            echo "<option selected='selected' value='已发货'>已发货</option>";
        }
    echo "</select><br />";
    echo "<input type='button' id='btn' class='status_ok' value='改变状态'>&nbsp;";
    echo "<input type='submit' name='submit' class='status_ok' value='确定'>";
    echo "<input type='hidden' name='bmfid' class='status_ok' value='{$value[0]}'>";
    echo "</form>"; 
echo "</div>";
    echo "<div class='tel'>{$value[3]}</div>";
...
=============.
求高手解答!!

解决方案 »

  1.   

    没仔细看完,看了你的描述,只有第一个生效。那么你的ID是不是冲突了,一个html不能有相同的ID的,有多个的话js只认第一个好像。
      

  2.   

    既然你不能保证 id 是唯一的,那么就不能用 getElementById 去识别对象
    而要用 document.getElementsByTagName 去获取相应标签的集合,在逐一对其处理(此时,id 可作为分类标志)既然你对 js 并不熟悉,那么你就应该使用 jQuery 框架去进行操作