2009-04-15 6 views
1

これは些細なことかもしれませんが、私が構築しているプロフィールフォームのページでは、米国とカナダを選択すると、選択された国の州が表示されます代わりにNone Applicableが表示されます。私の国と州はデータベースであり、私はそれから私の選択を投入しています - これを行う簡単で適切な方法が欲しいです - 何らかの理由で選択オプションを無効にすることがすべてのブラウザでサポートされていないことに気付きましたそこに私もここにjavascriptingのためのjQueryを使用しています、私が使用することができ、オンラインで任意の素敵な無料のスニペット[多分私はここにこれをコーディングするにはあまりにも怠惰な感じている]州と国の選択ボックス - それを行うための最善の方法は?

が。


編集

感謝返信のために - カスケードドロップダウンは私が必要とするように思われるが、私はPHPベースのソリューションを探している。

メインストリームのウェブサイトはどのようにこのbtwを達成しましたか?私はそれをユーザーに任せて、アメリカ/カナダ以外の国々のアメリカ/カナダの州を含む項目で終わらせたくないからです。


Ajaxのアイデアは、私が考えていたものですが、事は、私が構築していたアプリケーションのフォームを使用して、連絡先を追加することができますセクションを持っていることです。同じ連絡先に複数のアドレスを追加できるようになっています。あなたがデータを持っているフォームを提出するときに基本的にjavascript関数を使用してアドレス入力を複製する追加ボタンはありません:

_POST ['address []']、_POST ['city []']、_POST [ [state [] ']、_ POST [' country [] ']

このアクションは、作成時にこの状態を州と国の各インスタンスにバインドしています。

答えて

2

私は国セレクターから米国とカナダのどちらも選択されていないと、状態セレクターを表示しないと思います。このアプローチには2つの利点があります。他のすべての国のユーザーは無意味なコンテンツに悩まされないので、不要な入力に対処する必要はありません。

これで、AJAX経由で国別セレクタの値を保存し、必要に応じて追加のセレクタdivをレスポンスとともに送信/有効化しました。

編集後:どれくらい柔軟なのですか?既存のコードがある場合は、不要な状態エントリを削除するcronジョブが別の方法かもしれません。

しかしこれは素晴らしいアイディアだ

+0

あなたのアドバイスを受け取り、AJAX呼び出しのページロード時に、グローバル変数に格納された状態のjson配列を取得し、次に国選択ボックスの選択に基づいて状態コンボボックスに値を設定する簡単なjavascript関数を作成しました。魅力のように働いて、アドバイスをいただきありがとうございます。 – Ali

+0

オートコンプリートを使用することを忘れないでください。 – RayLoveless

2

[c]国のドロップダウンリストにonchangedハンドラを添付します。ハンドラで、Ajaxを使用して選択した国の州/県リストを取得し、その州/州のドロップダウンをそのリストに入力し、州/州のドロップダウンを有効にします。

スタティックHTMLでは、州/地域のドロップダウンを無効にします。

+0

...私はあなたにも検索の上、後に状態を扱うことができる意味が、私はアドレスを作成し、状態は理にかなっている場合はそのコードはチェックしない既存のコードもあると仮定既に存在するエントリを編集したい場合は、類似のフォームで選択コンボをどのように埋めるのですか? – Ali

+0

あなたが何を求めているのか分かりません。 – tpdi

1

CascadingDropdown Extenderがあなたが探していることを実行できるかどうかを確認してください。

0

私がASP.NETで行う方法は、[国]ドロップダウンリストにキャッシュされたUsercontrolを使用することです。このドロップダウンリストには、RequiredFieldValidatorが添付され、初期値は「Select one」に設定されています。州のドロップダウンリストは同じユーザーコントロールに含めることができ、[国]ドロップダウンリストの選択に基づいたAJAXリクエストに基づいて設定できます。 (@tpdiが彼の答えに言及しているように)

関連する問題