dポイントプレゼントキャンペーン実施中!

いつもお世話になっております。
今回はselectについてお聞きしたいです。

ある条件でselectを選択不可にしようと思い、

if(...) Selectbox.disabled = true;

としておりますが、選択は不可能になりましたが灰色がかってしまいます。
できれば色は黒いままで選択不可にしたいのですがどのように
すれば実現できますでしょうか?
ご教授お願いします。

A 回答 (3件)

たとえば、選べるけど、値が変えられないとかでしたらこんな感じで



<script>
function check(obj){
var s=obj.form.hoge;
if(obj.checked){
s.index=s.selectedIndex;
s.onchange=function(){this.selectedIndex=this.index;}
}else{
s.onchange=function(){return false;}
}
}

</script>
<form>
<input type="checkbox" onClick="check(this)">変更不可
<select name="hoge">
<option>0</option>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
</form>
    • good
    • 0

「選択不可能」を拡大解釈しまして、「選択肢を切り替えられない」とするなら下記のようなイベントを追加することで対応できます。



<select onmousedown="reset_value=this.selectedIndex" onchange="this.selectedIndex=reset_value">


プルダウンの選択肢一覧を見えないように制御したいのであれば、
「選択用プルダウン」と「選択不可用プルダウン」の2つを用意しておき、常に一方を隠して、必要に応じて切り替えて表示するようにすることで対応できそうです。
    • good
    • 0

>灰色がかってしまいます。



disableというのは選ばれているようにみえてもそのデータはサーバに
おくられません。
黒いままだと「データが選ばれている」と錯覚されるので、それを
防ぐ仕様です。

だいぶ姑息なことをしないと無理なので、あきらめたほうがいいでしょう

この回答への補足

ご回答ありがとうございます。

今回は選択不可であるが確認はできるというものが作りたいので、
そのデータがサーバに送られてもいいです。
「データが選ばれている」と錯覚されてもいい場合であっても
かなり複雑な処理が必要となってしまうのでしょうか?

補足日時:2008/05/15 00:26
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています