2011-08-20 99 views
0

我有以下組合框,它設置每頁顯示的圖像數量。我有原始的PHP代碼工作,但我使用jQuery將其更改爲Ajax時遇到了很多麻煩。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>"; 
     } 
    } 

?> 

預先感謝任何幫你提供。

回答

2

你有一個錯字,方法是val(),不value()

var value = sel.val(); 

例如(沒有AJAX的東西):http://jsfiddle.net/ambiguous/u3c9G/

+0

天才!我不敢相信這很簡單。非常感謝你。 – stefmikhail

+0

快速的問題。我有一個單獨的Ajax文檔用於分頁。它的工作完美,但我想將此功能與分頁功能集成在一起。這是否會導致完全重寫?或者是否可以將此代碼與其他代碼放在一起?我需要在單獨的文件中使用php嗎?我想知道,因爲他們需要共享當前頁面和每頁圖像等常用信息。 – stefmikhail

+0

@stefmikhail:我不得不說「也許」。很難說沒有更多的細節。 –