this.value=prompt('ok','a');  //我这里测试是通过的呀win2K+IE6

解决方案 »

  1.   


    这样试试;
    <form>
    <select onChange="if(this.value=='c')this.options[this.selectedIndex].value=window.prompt('ok','ok');">
    <option value="a">a</option>
    <option value="b">b</option>
    <option value="c">c</option>
    </select>
    </form>
      

  2.   


    如果是因为程序出错赋值不成功的话,在“if(this.value=='c')this.value=prompt('ok','ok');”前加上javascript:
      

  3.   

    我是XP,IE6...
    zhaoxiaoyang(梅雪香@深圳)的方法可以...不过不知道为什么啊....可以说一下么?
      

  4.   

    发现个小问题...就是上面的方法用过一次以后如果再选择就不会出现prompt了,怎么回事呢?
      

  5.   

    用过一次后,你的value值变了嘛...
    <form>
    <select onChange="if(this.value=='c')this.options[this.selectedIndex].value=window.prompt('ok','ok');">
    <option value="a">a</option>
    <option value="b">b</option>
    <option value="c">c</option>
    </select>
    </form>刚开始时,你的c项的value是'c'
    当你选了c项后,出现prompt后可能会更新它的值....
      

  6.   

    不明白...
    第一次选c后prompt后this.value就应该=ok,再选择b,再选择回c,此时this.value应该=c吧?可是prompt不出现...