Поле JQuery Ajax Combo не работает - PullRequest
0 голосов
/ 21 августа 2011

У меня есть следующее поле со списком, которое устанавливает количество изображений, отображаемых на странице.У меня был оригинальный исходный код PHP, но у меня много проблем с использованием jQuery, чтобы изменить его на Ajax.

Кажется, что поле со списком работает, но трудно сказать, так как изображения не отображаются.Я надеюсь, что кто-то может мне помочь.

HTML

<form>
    <label>Images Number:</label>
    <select id="imgNum" name="imgNum">
        <option value="12">12</option>
        <option value="16">16</option>
        <option value="20">20</option>      
    </select>
</form>

<div id="imgTray"></div>

JQuery

//Bind the onChange event to Fetch images on combox selection
$("#imgNum").change(function(){
    //The combo box
    var sel = $(this);
    //Selected value
    var value = sel.value();

    //Fetch the images
    $.get("get_images.php",{imgs: value}, function(data){
        //Add images to the document
        $("#imgTray").html(data);
    });
})

//You should store the current selected option in a cookie
//For the sake of the example i'll set the default permanently to 12
var imgNum_selected = 12;

//set the initial selected option and trigger the event
$("#imgNum [value='"+imgNum_selected+"']")
    .prop("selected","selected")
    .change();

PHP

<?php

    if((int) $_GET['imgs'] > 0){ 
        $limit = (int) $_GET['imgs']; 
    } else { 
        $limit = 12; 
    }

     $curPage = 0;
     if(isset($_GET['page'])){
        $curPage = (int) $_GET['page'];
     }

    $mysql_link = mysql_connect("localhost", "root", "root");   
    mysql_select_db("new_arrivals_imgs") or die("Could not select database");

    $query = mysql_query("SELECT `imgURL`,`imgTitle` FROM `images` ".
    "ORDER BY `imgDate` DESC LIMIT " . $limit * $curPage . ", $limit") or die(mysql_error());

    if(!$query) {
        echo "Cannot retrieve information from database.";
    } else { 
    while($row = mysql_fetch_assoc($query)) { 
        echo "<li><a href='new_arrivals_img/".$row['imgURL']."' class='gallery' title='".$row['imgTitle']."'><img src='new_arrivals_img/thumbnails/".$row['imgURL']."'></a></li>";
      }
    }

?>

Заранее благодарим за любую помощь, которую вы можете предоставить.

1 Ответ

2 голосов
/ 21 августа 2011

У вас есть опечатка, метод val(), а не value():

var value = sel.val();

Например (без AJAX): http://jsfiddle.net/ambiguous/u3c9G/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...