Загрузка новой страницы через select
скрипт тут
<div id="content"></div> <script> $(document).ready(function(){ $('#btn2').change(function(){ $.ajax({ url: "page2.html", cache: false, success: function(html){ $("#content").html(html); } }); }); }); </script> селект тут: <option val="apl">Яблоко</option> <option val="din">Дыня</option> Надо что бы на клик по селекту"Яблоко" загружалась page2.php на место <div id="content"></div> Надеюсь на помощь:victory: |
перед $.ajax
if( this.value == "apl" ) |
судя по коду - должно работать... если конечно идентификатор селекта совпадает.
Или вы имеете ввиду, что нужно проверить значение выбранной option из select? |
Вот и я думаю что должно все работать,только вот не срабатывает =)
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function(){ $('#apl').change(function(){ if( this.value == "apl" ) $.ajax({ url: "inc.php", cache: false, success: function(html){ $("#content").html(html); } }); }); }); </script> <title>Insert title here</title> </head> <body> <select name="Menu"> <option value="apl">Яблоко</option> <option value="din">Дыня</option> </select> <div id="content"></div> </body> </html> |
Вы вешаете событие на элемент с ID = "apl" Но у селекта вашего нет такого ID
|
Заработало,поставил два условия с селектом...:D
<script> $(document).ready(function(){ $('#fruit').change(function(){ if( $(this).val() == "apl" ){ $.ajax({ url: "page1.php", cache: false, success: function(html){ $("#content").html(html); } }); }else if($(this).val() == "din"){ $.ajax({ url: "page2.php", cache: false, success: function(html){ $("#content").html(html); } }); } }); }); </script> |
А вот если у меня на этих страницах присутствует javascript подскажите пожалуйста как сделать так чтобы при загрузке как бы происходила перезагрузка страницы и скрипты работали, в моем случае это яндекс карты...
|
Скрипты вставленные через innerHTML (что делает jquery-метод html()) не исполняются. Как вариант можно пройти по всем тегам <script>, изъять из DOM-а и вновь вставить (может и изымать не придется). Если в скриптах используется document.write то это провал.
if( $(this).val() == "apl" ){ $.ajax({ url: "page1.php", cache: false, success: function(html){ $("#content").html(html); } }); }else if($(this).val() == "din"){ $.ajax({ url: "page2.php", cache: false, success: function(html){ $("#content").html(html); } }); } Этот код ужимается до: var routes = {apl: 'page1.php', din: 'page2.php'}; $.ajax({ url: routes[this.value], cache: false, success: function(html){ $("#content").html(html); } }); |
ok
|
Часовой пояс GMT +3, время: 08:26. |