― MozillaZine.jp フォーラムは Mozilla 製品に関する情報交換の場です ―



All times are UTC + 9 hours

新しいトピックを投稿する トピックへ返信する  [ 3 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 2012年8月31日(金) 17:46 
オフライン

登録日時: 2008年4月25日(金) 17:24
記事: 35
こんにちは、XULのlistboxコントロールについて教えて欲しいことがあります。

イメージとしてはリストボックスの各行にチェックボックスが付いているもので、単純に実現しようとすれば
コード:
<listbox>
<listitem type="checkbox" label="AAA"/>
<listitem type="checkbox" label="BBB"/>
</listbox>

のような形で済みますが、これだと行をクリックした時点でチェック状態も必ず反転しまいます。
そうではなくて、ラベル部分をクリックしただけではチェック状態は変わらずチェックボックスをクリックした時にだけチェック状態が変わるように、行選択とチェックボックスの動作を別々に行いたいと思ったら、どうするのが良いでしょうか?

とりあえず試しにチェックボックス部分とラベル部分を別の列に分割して
コード:
<listbox>
<listcols><listcol/><listcol/></listcols>
<listitem><listcell type="checkbox"/><listcell label="AAA"/></listitem>
<listitem><listcell type="checkbox" checked="true"/><listcell label="BBB"/></listitem>
</listbox>

のようにしてみたのですが、これだと選択操作でチェック状態は変わらないものの、チェックボックス部分をクリックしてもチェック状態が変更できなくなってしまいました。
またチェックボックスをlistcellのtype属性ではなくlistcellの子要素としてcheckboxを入れてみたのですがダメでした。

listitemのoncommandに関数を設定してみても実行されず、どうもlistitem自体のクリックイベントが取れなくなってしまっているように見えるのですが何か間違っているでしょうか?

よろしくお願いします。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2012年9月02日(日) 01:08 
オフライン

登録日時: 2007年7月01日(日) 23:02
記事: 23
お住まい: 千葉
listbox は簡易的なリストを作成するものなので複雑なUIを作成するのは難しいです。
代わりに、richlistbox および richlistitem を使用してみてください。richlistitem 内に checkbox 等を設ければ(試していないので確証はありませんが)お好みのことができると思います。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2012年9月03日(月) 17:35 
オフライン

登録日時: 2008年4月25日(金) 17:24
記事: 35
teramako さんが書きました:
代わりに、richlistbox および richlistitem を使用してみてください。richlistitem 内に checkbox 等を設ければ(試していないので確証はありませんが)お好みのことができると思います。

richlistitemというのがあるのに気づきませんでした。
確かにこれなら実現できそうです。
アドバイスありがとうございます。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
期間内表示:  ソート  
新しいトピックを投稿する トピックへ返信する  [ 3 件の記事 ] 

All times are UTC + 9 hours


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[3人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
Powered by MozillaZine.jp® Forum Software © phpBB Group , Almsamim WYSIWYG
Japanese translation principally by ocean