2011-07-01 8 views
0

私のHTMLフォームのjQuery/JavaScriptの選択ボックスを探しています。私の場合の特定の要件は、コントロールのメニューで特定のオプションを無効にできる必要があることです。私は誰も私がこれを行うことができますプラグインを発見した場合はもちろん無効なオプションを持つjQueryの選択ボックス

$("#selectControl").change(function() 
{ 
    $(this).find(":selected").attr("disabled", "disabled"); 
}); 

のようなものを使用することにより、好ましくやすく、知りたいのですが、attr()機能は、生成された要素上で動作しますが、そこではありませんこの機能のラッパーを持つjQueryプラグインですか?自分自身をより明確にするために

EDIT

、私は違っそれを言うだろう:私はその背後に隠された実際の<select>制御して、きれいなスタイル選択ボックスのように見えるHTML構造を有しています。 <select><option>を無効にすることはできますが、ほとんどのjQueryプラグインはスタイリングの選択ボックスには使用できません。私はそこにプラグインがあるかどうかを尋ねています。は、あらかじめ決められた<select>要素で特定のオプションを無効にすることができます。

おかげで、

ジェームズ

+0

無効で選択されているのは、実際にはjQuery 1.6で更新された属性ではなく属性です。 prop()のドキュメントをチェックしてください:http://api.jquery.com/prop/ – AlienWebguy

+0

@AlienWebguy:ありがとう、私の質問のポイントを逃した。私は自分自身をより明確にするために編集しました - 申し訳ありません。 – Bojangles

+0

申し訳ありません。どのようなオフハンドもわかりませんが、jQueryは非常に汎用性が高いため、現在無効化オプションをサポートするために使用しているプラ​​グインを拡張することができます。 jsbinまたはjsfiddleページを作成するか、サンプルへのリンクを提供してプラグインコードを確認できますか? – AlienWebguy

答えて

0

まあ、それは私が十分に見苦しくなかったことが判明した。私と同じことをしたい人のために、私はthis pluginを見つけました。私の「選択を無効にする」動作を得るために、私はどこかのURLのページにリンクされているjQueryタイプラグインを使用しました。これは、かなりの選択ボックスプラグインのビットですが、それは細かくなければなりません。ボックスはCSSで非常にスタイリングされ、ボーダー幅のトリックを使用してイメージなしで完全に行うことができます。私が十分な興味を持っていれば、これらのボックスをスタイルする方法についてのチュートリアルを書くでしょう。

EDIT

は、上記のリンクプラグインは、実際には非常にうまく機能していなかったので、私はちょうど自分自身を書きました。誰かが見たいと思えば、私はいつかそのリンクを投稿します。

1

私はあなたの質問に追跡してるか分からないが、以下のコードスニペットは、特定のオプションを非表示にするには、ドロップダウン上で動作します。

//show them all 
$('#<%= ddlRank.ClientID %> span').each(
    function() { 
     var opt = $(this).find("option").show(); 
     $(this).replaceWith(opt); 
    } 
); 

//hide unrelated 
var selectionLost = false; 
$('#<%= ddlRank.ClientID %> option').each(
    function() { 
     if ($.inArray($(this).val(), related) == -1) { 
      if ($(this).attr("selected")) { 
       $(this).removeAttr("selected"); 
       selectionLost = true; 
      } 
      $(this).wrap("<span>").hide(); 
     } 
    } 
); 

秘密のソース(「すべて表示」コードと一緒に非表示にする):

$(this).wrap("<span>").hide(); 
関連する問題