- PR -

[ASP.NET]コンボボックスの初期値

投稿者投稿内容
カウンター
大ベテラン
会議室デビュー日: 2004/02/19
投稿数: 123
投稿日時: 2005-03-25 17:39
vb.netでWEBアプリを開発しています。

なんとも、上手く表現できないのですが
フォームが開かれたときのみ、コンボボックスの初期値が空白になっていて
その後、一度でも選択したら先頭の空白は出てこなくなるように出来るのでしょうか?

う〜ん、本当に変な説明で申し訳ないですが、よろしくお願いします。

あ、あれです。グーグルのツールバーについてるコンボと同じ動作を実現したいです。

[ メッセージ編集済み 編集者: カウンター 編集日時 2005-03-25 18:09 ]
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2005-03-25 18:19
コード:
<HTML>
<HEAD>
<SCRIPT>
var removeFlag = false;
function RemoveBlank()
{
	if (!removeFlag)
	{
		dropDown1.remove(0);
		removeFlag = true;
	}
}
</SCRIPT>
</HEAD>
<BODY>
<SELECT onClick="RemoveBlank()" id="dropDown1">
	<OPTION></OPTION>
	<OPTION>AAAA</OPTION>
	<OPTION>BBBB</OPTION>
	<OPTION>CCCC</OPTION>
	<OPTION>DDDD</OPTION>
	<OPTION>EEEE</OPTION>
</SELECT>
</BODY>
</HTML>



これをASP.NETで出力すれば可能かと。
実装方法はお好みで。
カウンター
大ベテラン
会議室デビュー日: 2004/02/19
投稿数: 123
投稿日時: 2005-03-30 09:15
burton999さん、ありがとうございます。
教えていただいた方法を試してみたのですが、なんとかなりそうです。
コンボをクリックするたびに中身が一つずつ消えていくようになってしまいましたが、
そこら辺は単に実装の仕方が変なだけだと思うのでいろいろやってみます。
たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2005-03-30 09:34
引用:

コンボをクリックするたびに中身が一つずつ消えていくようになってしまいましたが、


removeFlagあたりかな。

_________________
たつごろー
codeseek
こみゅぷらす
カウンター
大ベテラン
会議室デビュー日: 2004/02/19
投稿数: 123
投稿日時: 2005-03-30 09:54
引用:

たつごろーさんの書き込み (2005-03-30 09:34) より:
removeFlagあたりかな。



ですね、removeFlagが常にfalseになるように実装しているので失敗しています。
一度クリックしたら値を保持し続けなければダメですね。

ありがとうございます。
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2005-03-30 10:13
ドロップダウンリストのSelectedIndexChangedイベント時に先頭の空白のItemを削除すればよいのではないでしょうか。
ASP.NETなんだし。

沢山のドロップダウンリストで同じ動作をするなら、DropDownListを継承してそんな機能を持ったドロップダウンリストクラスを作ってしまうのも良いかもしれませんね。
カウンター
大ベテラン
会議室デビュー日: 2004/02/19
投稿数: 123
投稿日時: 2005-03-30 10:23
引用:

一郎さんの書き込み (2005-03-30 10:13) より:
ドロップダウンリストのSelectedIndexChangedイベント時に先頭の空白のItemを削除すればよいのではないでしょうか。
ASP.NETなんだし。

沢山のドロップダウンリストで同じ動作をするなら、DropDownListを継承してそんな機能を持ったドロップダウンリストクラスを作ってしまうのも良いかもしれませんね。



なるほど、そういう方法もありますね。
ちょっと、今は時間がないのでいろいろ試すことは出来ませんが、
余裕が出来たらクラスを作ってみます。
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2005-03-30 10:35
コンボボックスが選択されるたびにPostBackしてよいのなら
SelectedIndexChangedでやるのがわかり易くていいと思います。
ただ、今回のケースの場合、SelectedIndexChangedでなにか処理をしたいというより
初期値の空白を削除したいということなので、スクリプトで処理する方法で考えました。
ケースバイケースだと思われるので、カウンターさんが開発しているシステムによりますね。

スキルアップ/キャリアアップ(JOB@IT)