1

編集: リンクの http:// を忘れました。これは私の問題ではありません。私は質問を修正します...

次のようないくつかのオプションがあります。

<select class="mySelect">
    <option value="http://www.url1.com">Url 1</option> <!--Default displayed--->
    <option value="http://www.url2.com">Url 2</option>
    <option value="http://www.url3.com">Url 3</option>
</select>

これには、次のような jquery リスナーがあります。

$('.mySelect').change(function(){
    window.location.replace($(this).val());
});

これは行われた変更に応答するだけなので、「www.url1.com」にリダイレクトできません。何を使えばいいですか?Googleで変更の提案のみを受け取ります。

EDIT 2:ダミーを最初のオプションとして使用することに関する解決策がたくさんあります。ボタンを使用して選択したオプションを読み取ってからリダイレクトするという別の解決策も得ましたが、それ以外の場合は本当に良い解決策であっても、私が取り組んでいるプロジェクトでは使用できません。

この場合、最初のオプション(デフォルトで選択されている)を選択しているように、それ自体に変更が加えられた場合でも、使用法をリッスンしたい - リダイレクトの上の場合. 誰かがこの問題に対する適切な解決策を持っている場合は、開いたままにします。

4

4 に答える 4

8

空の値の最初のオプションを入れてみてください:

<select class="mySelect">
    <option value="">Please select...</option>
    <option value="http://www.url1.com">Url 1</option>
    <option value="http://www.url2.com">Url 2</option>
    <option value="http://www.url3.com">Url 3</option>
</select>

次に、jQuery を修正して、リダイレクトする前に値があることを確認します。

$('.mySelect').change(function(){
    var value = $(this).val();
    if (value != "") {
       window.location.replace(value);
    }
});

フィドルの例

http://また、リンク値には (または使用しているプロトコル) が必要であることにも注意してください。


更新しました

ダミー オプションを使用したくない場合は、ボタン クリックで動作するようにロジックを変更する必要があります。

<select class="mySelect">
    <option value="http://www.url1.com">Url 1</option>
    <option value="http://www.url2.com">Url 2</option>
    <option value="http://www.url3.com">Url 3</option>
</select>
<button id="redirect">Go</button>
$("#redirect").click(function() {
    window.location.replace($(".mySelect").val());
});
于 2012-12-13T13:27:02.003 に答える
0

あなたも入れなければならhttp://ない

window.location.replace("http://"+$(this).val());
于 2012-12-13T13:27:15.060 に答える
0

1つのオプションは、最初のオプションを次のように変更することです

    <select class="mySelect">
    <option value="select">Select URL</option> <!--Default displayed--->
    <option value="www.url1.com">Url 1</option> 
    <option value="www.url2.com">Url 2</option>
    <option value="www.url3.com">Url 3</option>
    </select>

または、コンボボックスにクリックjqueryイベントを使用できます。

于 2012-12-13T13:50:15.613 に答える