0

これは、選択内容に基づいてクエリ文字列を作成するドロップダウン コードです。私が理解しようとしている唯一の項目は、ページがリロードされたときに選択を保持する方法です。

<html>
<select id="categoryFilter">
<option value=""></option>
<option name="Category1" id=Category1 value=".">All</option>
<option name="Category2" id=Category2 value="2.1">Processors</option>
<option name="Category3" id=Category3 value="2.4">GPU</option>
<option name="Category4" id=Category4 value="1">Corporate</option>
</select>

<script>
function setSelectedIndex(s, valsearch)
{
// Loop through all the items in drop down list
for (i = 0; i< s.options.length; i++)
{    
    if (s.options[i].value == valsearch)
    {
        // Item is found. Set its property and exit
        s.options[i].selected = true;
        break;
    }
 }
return;
}

function Filter_Init()
{
    var fvalue= JSRequest.QueryString['categoryFilter'];
    setSelectedIndex(document.getElementById('categoryFilter'), decodeURI(fvalue));
}

$('#categoryFilter').change(function() {
window.location = 'http://' + location.hostname + location.pathname + '?' +       $("#categoryFilter option:selected").attr('id') + '=' + $("#categoryFilter option:selected").val() + '#2';
Filter_Init();
});

4

2 に答える 2

0

ページの読み込み時にクエリ パラメータの URL 文字列を解析し、対応する要素を見つけて「選択」するロジックを用意する必要があります。サーバー側の言語でそれを行う方がおそらく良いので、「フラッシュ」(DOMのロード後に別の状態に変更するよりも、ある状態で要素をロードする)がありません。

Javascript の実装については、次のようなことを試してください: JavaScript でクエリ文字列の値を取得するにはどうすればよいですか?

于 2013-06-10T22:14:39.553 に答える
0

これが私が問題に取り組む方法です。

  1. ページの読み込み時にクエリ文字列を抽出します。

    JavaScript でクエリ文字列値を取得するにはどうすればよいですか?

  2. 受信クエリ文字列に従って正しいオプションを選択します。

あなたのクエリで指摘したことの 1 つは、?Category2=2.1 のようなクエリを送信していることです。私の意見では、少し柔軟性がありません。?id=Category2&value=2.1 のようなものは、長期的にはより柔軟になる可能性があります。

この JS ライブラリは、URL パーサー ライブラリの有力候補です。

http://blog.stevenlevithan.com/archives/parseuri

于 2013-06-10T22:14:42.847 に答える