Всем привет. не ругайте и не судите. в javaScript, Ajax вообще мало что понимаю. Даже не могу конкретно составить вопрос. для googla или форума. Хотя что то сделал.)
Вообщем суть
Есть 3 селекта, первый вибирает раздел. второй категорию.
о третьем дальше....
Итак выбрали категорию, выводит результаты
$(".section").change(function() {
var id=$(this).val();
var dataString = 'category='+ id;
$.ajax ({
type: "POST",
url: "select_category.php",
data: dataString,
cache: false,
success: function(html)
{
$(".category").html(html);
}
});
});
$(".category").change(function() {
var id=$(this).val();
var dataString = 'category='+ id;
$.ajax ({
type: "POST",
url: "select_auto.php",
data: dataString,
cache: false,
success: function(html)
{
$(".auto").html(html);
}
});
});
<td>
<select name="section" class="section">
<option selected="selected">--Select section--</option>
<?php
include('db.php');
$sql=mysql_query("select id,title from categories where parent_id='0'");
while($row=mysql_fetch_array($sql)) {
$id=$row['id'];
$data=$row['title'];
echo '<option value="'.$id.'">'.$data.'</option>';
}
?>
</select>
</td>
</tr>
<tr>
<td><label>Type :</label></td>
<td>
<select name="category" class="category">
<option selected="selected">--Select category--</option>
</select>
</td>
Как я понимаю,происходит выбор. на сервере тоесть в пхп что то делаеться и выводиться в таблице с классом auto.
Тут все норм. вроде правильно и понятно мне.
Такая же ситуация с 3 селектом. Года отсортировал. вывел. когда выбрали. он вывел все авто нужного года. но когда выбираешь Раздел->Категорию->Года,категории которой выбрал=Показыват авто не из ранее выбранной категории. короче второй параметр не работает
$(".years").change(function() {
var id=$(this).val();
var dataString = 'year='+ id;
var cat=$('#category').attr('value'); //Все
dataString = dataString + "&category=" + cat;
$.ajax ({
type: "POST",
url: "select_auto_year.php",
data: dataString, //Что смог нарыть и это не работает!
cache: false,
success: function(html)
{
$(".auto").html(html);
}
});
});
Код:
|
//это индексный файл
<?php
include('db.php');
$sql=mysql_query("select DISTINCT
id,year
from auto_cat");
echo '<select name="years" class="years"><option selected="selected">--Select oll_year--</option>';
while($row=mysql_fetch_array($sql)) {
echo '<option value="'.$row['year'].'">'.$row['year'].'</option>';
}
echo '</select>';
?> |
приводить весь код не буду. сам знаю что где то ошибся. но где
вот код при выборе категории выводит выбор годов и поле импут
Код:
|
<?php
//а вот сюда должны передаваться два параметра.
include('db.php');
if($_POST['category']) {
$category=$_POST['category'];
$sql=mysql_query("select DISTINCT
year
from auto_cat where category='$category'");
if(mysql_num_rows($sql) > 0) {
echo '<input type="hidden" name="category" id="category" value="'.$category.'"/>';
echo '<select name="years">';
echo '<option selected="selected">Select category</option>';
while($row=mysql_fetch_array($sql)) {
echo '<option value="'.$row['year'].'">'.$row['year'].'</option>';
}
} else echo '<option selected="selected">--none auto--</option></select>';
}
?> |
могу предположить что я не правильно написал условие
Код:
|
<?php
include('db.php');
if(isset($_POST['cat'])) {
$year=$_POST['year'];
$category = $_POST['cat'];
$sql=mysql_query("select *
from auto_cat
where category='$category'
AND year='$year'");
if(mysql_num_rows($sql) > 0) {
while($row=mysql_fetch_array($sql)) {
echo '<tr>';
echo '<td style="color: #0F0">'.$row['model'].'</td><td>'.$row['year'].'</tr>';
echo '</tr>';
}
} else echo 'Категория пустая';
}
if(isset($_POST['year']) && !isset($_POST['cat'])) {
$year=$_POST['year'];
$sql=mysql_query("select * from auto_cat where year='$year'");
if(mysql_num_rows($sql) > 0) {
while($row=mysql_fetch_array($sql)) {
echo '<tr>';
echo '<td style="color: #F00">'.$row['model'].'</td><td>'.$row['year'].'</tr>';
echo '</tr>';
}
} else echo 'Категория пустая';
}
?> |
а оно не правильно, но второй параметр не передается
var id=$(this).val();
var dataString = 'year='+ id;
var cat=$('#category').attr('value');
dataString = dataString + "&category=" + cat;
когда разберусь как это работает и оптимизирую php. и javascript
подскажите пожалуйста, что не так и как сделать правильно. может на javasript может длявторого парамертадобавить условие. только как и какое?