2012-01-05 22 views
1

jQueryを使用して選択した内容をユーザーが知るように、ページを更新した後でもドロップダウンから選択したものを保持するにはどうすればよいですか?またはjavascript?ポストバックで選択したドロップダウンオプションを保持

<select id="hospitalDropDown" onchange="window.open(this.options[this.selectedIndex].value,'_top')"> 
     <option disabled="disabled">Select Hospital</option> 
     <option value="http://mysite.com/events/Pages/default1.aspx">All Hospitals</option> 
     <option value="http://mysite.com/events/Pages/default1.aspx?hos=Dyer">Dyer</option> 
     <option value="http://mysite.com/events/Pages/default1.aspx?hos=Carmel">Carmel</option> 
    </select> 
+0

ポストバックを?あなたの選択したサーバー側の言語を使用したいと思います。 – Ryan

+1

これを行うにはいくつかの方法があります。最も簡単なのはおそらくクッキーを使用することです。 – glortho

+0

サーバーにアクセスできません! jqueryまたはjavascriptを使用してクライアント側で行う必要があります –

答えて

1

これを試してみてください:

<select id="hospitalDropDown" onchange="window.open('http://mysite.com/events/Pages/default1.aspx?hos='+this.value,'_top')"> 
    <option disabled="disabled">Select Hospital</option> 
    <option value="All">All Hospitals</option> 
    <option value="Dyer">Dyer</option> 
    <option value="Carmel">Carmel</option> 
</select> 

$(document).ready(function(){ 
    var value = window.location.href.match(/[?&]hos=([^&#]+)/) || []; 
    $('#hospitalDropDown').val(value[1]); 
}); 
+1

If (例えば、リクエストごとに複数回)クエリ文字列を打ち込むより堅牢な方法が必要になった場合、[JavaScriptでクエリ文字列にアクセスする際の質問]をチェックする価値があります(http://stackoverflow.com/questions/901115/get- query-string-values-in-javascript)、または[URI.js](http://medialize.github.com/URI.js/)を 'window.location.href'に対して使用します。 – patridge

0
<select id="hospitalDropDown"> 
    <option value="">All Hospitals</option> 
    <option value="Dyer">Dyer</option> 
    <option value="Carmel">Carmel</option> 
</select> 
<script type="text/javascript"> 

$(document).ready(function() { 
    $('#hospitalDropDown').val('<?php echo $_GET['hos']; ?>'); 
    $('#hospitalDropDown').change(function() { 
     location.href = 'http://mysite.com/events/Pages/default1.aspx?hos=' + $(this).val(); 
    }); 
}); 
</script> 
+0

PHPにアクセスすることは一切言及されていません。実際、彼らはサーバーサイドのコードにアクセスすることはできないとコメントしています。この回答は、[この正確な答えを最初に投稿した場所の複製](http://stackoverflow.com/a/8743784/48700)ではさらに間違っていました。 – patridge

関連する問題