ここで重複した質問をするリスクがあることはわかっていますが、私は完全なAJAX jQuery初心者であるため、何を検索すればよいかわかりません。私を信じて、私は運が悪かったので、私が明白だと思うものを検索しようとしましたので、私に気楽に行ってください。
デフォルトでGBPで価格を表示するphpワードプレスサイトがあります。上部には、onchange="this.form.submit()"
すべての価格が見積もられているデフォルトの通貨をユーザーが変更できる選択ボックスがあります。
<form method="post" action="">
<select name="ChangeCurrency" onChange="this.form.submit()">
<option value="GBP">GBP</option>
<option value="USD">USD</option>
<option value="EUR">EUR</option>
</select>
</form>
ホームページには、私が「ショートコードウィジェット」と呼んでいるものがいくつかあり、それぞれに製品と価格表が含まれています。必要に応じてダッシュボード。
現在の仕組み(非効率的):
- ユーザーの変更は選択します。
- 提出されたフォーム
- 選択した通貨で更新された価格でホームページがリロードされました。
誰かが通貨を変更するたびにページ全体がリロードされるため、これは良くありません(これには時間がかかり、サーバーへの不要な負荷は言うまでもなく、キャッシュなしで約1MBを転送します)。
私が欲しいもの(より効率的):
- 選択ボックスが変更された場合、通貨セッション変数を変更するフォームを非同期で投稿したいと思います。
- 各「ショートコードウィジェット」は、ページ全体をリロードすることなく、1つずつ更新されます。
これはjqueryでできることですか?どこから始めればいいですか?
私が何を言っているのかがわかるように違いが生じた場合に備えて、ここに私が話していることを確認できるようにURLを示します... http://bit.ly/10ChZys
パート2: 以下の回答のマッシュアップのおかげで、jQueryとajaxを使用してfixTableを更新しました...セッション変数を使用してユーザーの選択を保存しています。そうすれば、ユーザーがサイトに戻った場合にオプションが保存されます。
http://goldealers.co.uk/wp-content/plugins/gd/tables.php?currency=GBP&table=fixTable内に保存されているセッション変数がユーザーのセッションとは異なるsession_idを持っているように見えるため、コードに問題があります。オプションが保存されなくなったため、id。
それらが1つの同じセッションであることをサーバーに伝える方法はありますか?
ソリューション 私はRibotのソリューションを使用して最初に機能し、最初の問題を解決し、次にNomikOSのソリューションで拡張しました...