Я пытаюсь записать немного отрывка, который позволяет пользователю перейти в т.е. перейти к), новый URL, на основе пользовательского выбора в управлении выбором опции.
<script type="text/javascript">
/* <[CDATA[ */
jQuery.noConflict();
jQuery(document).ready(function(){
var id = jQuery($this).val();
var url = some_Lookup_func(id);
jQuery("#the_id").change(function () { /* how do I navigate the browser to 'url' ?*/ );
});
/* ]]> */
</script>
Примечание: Это не поведение Ajax, которое я хочу, я хочу, чтобы браузер вел себя, как будто Вы нажали на гиперссылку. Я сделал это прежде, но я забыл, как сделать это. Я взглянул на документы jQuery, и загрузка (), кажется, не делает это - потому что я не хочу помещать содержание в текущую страницу - я хочу:
jQuery
var YourParam="sunshine";
$(document).ready(function() {
$("#goto").change(function(){
if ($(this).val()!='') {
window.location.href=$(this).val()+"?param="+YourParam;
}
});
});
HTML
<form action="whatever.shtml" method="post" enctype="multipart/form-data">
<select id="goto">
<option value="">Go somewhere...</option>
<option value="http://cnn.com/">CNN</option>
<option value="http://disney.com/">Disney</option>
<option value="http://stackoverflow.com/">stackoverflow</option>
<option value="http://ironmaiden.com/">Iron Maiden</option>
</select>
</form>
Это:
jQuery("#the_id").change(function () {
document.location.href = 'url here' + $(this).val();
};
Дополнительная информация:
Чтобы просто перезагрузить страницу, установите window.location.href
на свой URL. Чтобы передать параметры, постройте строку «name = value & name = value» и прикрепите ее к концу. jQuery предоставляет метод "сериализации", который упрощает это (как если бы это было трудно с самого начала).
window.location.href = 'http://example.com/newlocation?param1=value1';
Это также работает с относительным URL:
window.location.href = '/newlocation?param1=value1';