Павел Г.
14 сообщений
#12 лет назад
Необходимо передать параметры табов:

active, expired, disabled, archive

в php через jquery.

6 часов гугления и сравнения примеров не помогли в моем вопросе


<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />

<script>
$(function() {
$( "#tabs" ).tabs();

$('#tabs-2')({
url: 'index.php',
type: "POST",
data: 'page=account&listing=active',
});

$('#tabs-3')({
url: 'index.php',
type: "POST",
data: 'page=account&listing=expired',
});

$('#tabs-3')({
url: 'index.php',
type: "POST",
data: 'page=account&listing=disabled',
});

$('#tabs-3')({
url: 'index.php',
type: "POST",
data: 'page=account&listing=archive',
});

});

</script>


<div id="tabs">
<ul>
<li><a href="#tabs-1">Активные</a></li>
<li><a href="#tabs-2">Рекламные</a></li>
<li><a href="#tabs-3">Неактивные</a></li>
<li><a href="#tabs-4">Архив</a></li>
</ul>
<div id="tabs-1">
</div>
</div>
Евгений Б.
5330 сообщений
#12 лет назад
Печальные скилы.

  $('#tabs-3')({
url: 'index.php',
type: "POST",
data: 'page=account&listing=expired',
});


Это что по Вашему должно делать?

Передавать параметры по какому событию нужно? После передачи что делать с ответом?
Главный вопрос: что Вы хотите получить вообще? смену контента при переключения по табам?
Павел Г.
14 сообщений
#12 лет назад
Цитата ("ArtPro"):
смену контента при переключения по табам?

При кликании данного таба подгружать данные с параметром page=account&listing=expired

Цитата ("ArtPro"):
Это что по Вашему должно делать?

Да.

Приношу извинения за неточность вопроса.
Сергей Л.
616 сообщений
#12 лет назад
Мда...
как-то так примерно:
	$("a").click(function(){ 


$.ajax({
url: "index.php",
type: "GET",
data: "page=account&listing=active",
cache: false,
success: function(response){
if(response == 0){
alert("ошибка");
}else{
$("#tabs-2").append(response);
}
}
});
});
Павел Г.
14 сообщений
#12 лет назад
Art-apple,
спасибо!

Сделал по Вашему совету.

<script>
$(function() {
$( "#tabs" ).tabs();

$("a").click(function(){


$.ajax({
url: "index.php",
type: "GET",
data: "page=account&listing=active",
cache: false,
success: function(response){
if(response == 0){
alert("ошибка");
}else{
$("#tabs-2").append(response);
}
}
});
});


});


Переключение по табам есть, но контент согласно параметру не появляется.
Юрий Попченко
649 сообщений
#12 лет назад
Осталось только угадать, что делает ваш index.php с этими параметрами и этим методом передачи данных.
Или можно обратиться к экстрасенсам.
Павел Г.
14 сообщений
#12 лет назад
Цитата ("webjournal"):
page=account&listing=active


Запрос в браузере страницы index.php?page=account&listing=active выводит активные записи, соотв. Цитата ("penguin"):
с этими параметрами и этим методом передачи данных

должен вывести тоже самое при кликании на таб.
Евгений Б.
5330 сообщений
#12 лет назад
Цитата ("webjournal"):
Art-apple,
спасибо!

Сделал по Вашему совету.


Вы в коде 4 блока вставите на каждую ссылку???!!!!

Всем табам лучше задать класс, на него повесить обработчик на клик, в обработчике смотреть id/data/ссылку и вызывать уже запрос

Блок делаем таким

<ul class="supertab">
<li><a href="#active">Активные</a></li>
<li><a href="#reclama">Рекламные</a></li>
<li><a href="#nonactive">Неактивные</a></li>
<li><a href="#arhive">Архив</a></li>
</ul>



Теперь у нас есть класс supertab для ul, и ссылки внутри li этого списка.

$("ul.supertab li a").click(function(){ 


$.ajax({
url: "index.php",
type: "GET",
data: "page=account&listing="+$(this).attr('href'),
cache: false,
success: function(response){
if(response == 0){
alert("ошибка");
}else{
$("#tabs-1").append(response);
}
}
});
});


Пишу без проверки в песочнице, на глаз, так что может что пропустил.
Но в любом случае 1 блок кода лучше чем 4.
Учитесь делать "как надо", а не "как умею" - это залог роста профессионального.
Павел Г.
14 сообщений
#12 лет назад
ArtPro,
cделал так:
<script> 
$(function() {
$( "#tabs" ).tabs();
});

$("ul.supertab li a").click(function(){

$.ajax({
url: "index.php",
type: "GET",
data: "page=account&listing="+$(this).attr('href'),
cache: false,
success: function(response){
if(response == 0){
alert("ошибка");
}else{
$("#tabs-1").append(response);
}
}
});
});


</script>


<div id="tabs">
<ul class="supertab">
<li><a href="#active">Активные</a></li>
<li><a href="#reclama">Рекламные</a></li>
<li><a href="#disabled">Неактивные</a></li>
<li><a href="#arhive">Архив</a></li>
</ul>
<div id="tabs-1">
</div>
</div>


Файер буг пишет:

Цитата:
Error: jQuery UI Tabs: Mismatching fragment identifier.


throw new Error( msg );