2013-12-23 66 views
0

目前我正在研究文章發佈應用程序的移動版本。我想讓用戶像搜索Google Images上的圖像一樣搜索他們的圖像(填寫關鍵字,單擊圖像,在圖像之間來回掃描)獲取所選圖像的價值

用戶可以選擇其關鍵字和之後將顯示一系列圖像(如圖庫/幻燈片)。當他們滑過這些圖像並停在特定圖像時,我想知道當前的ID值(即來自數據庫)。如果我在<img>標籤或<input type='image' />標籤中使用'value'字段,我無法獲得任何信息,此外,我現在還無法想到任何其他解決方案。

這聽起來有點抽象,但我還是希望有人可以給我一個建議

編輯:

例如,當我只用1個圖像嘗試它,我有這2可能性:

$sql = "SELECT * 
        FROM picture 
        WHERE picture_id = :picture"; 

$con->query($sql); 
$con->bind(":picture", $picture_id); 
$con->execute(); 

$record = $con->getRow(); 

echo "<input type='image' name='image' value=".$record["picture_id"]." src=\"http://www.mysite.com/img/".$record['picture_directory'].$record['picture_name']."\" />"; 

或當我使用:

echo "<img name=\"image\" src=\"http://www.mysite.com/img/".$record['picture_directory'].$record['picture_name']."\" alt=\"Smiley face\" value=". $record["picture_id"]. " height='42' width='42'>"; 

當我將表單提交到下一頁時,我沒有得到'name'屬性的值

+0

你能發佈一些源代碼?這會讓你更容易理解你想要達到的目標。 –

+0

當你說'value'字段是你在談論像'value =「234」'這樣的屬性?另外,''無效。我認爲你需要提供更多信息 –

回答

2

你可以使用一個數據屬性:

<img src="example.png" data-picture_id="'.$record['picture_id'].'" /> 

,並儘快填補了隱藏的輸入字段的用戶點擊了圖片:

<input type="hidden" name="selected_image" value="" /> 

//Bind click to images that have the data-picture_id attribute: 
$("img[data-picture_id]").click(function(e){ 

    //Set the value of the hidden input field 
    $("input[name='selected_image']").val($(this).data('picture_id')); 
}); 

這種方式,你可以使用$ _ POST [」 selected_image']來獲取所選圖像的ID。

+0

作品!感謝這個解決方案 – Orion

0

爲什麼不使用隱藏輸入和常規圖像標記?只要確保它在表格內。

<input type="hidden" name="picture_id" value="<?php echo $record["picture_id"] ?>"> 

有幾件事情,只是增加一個value屬性的HTML元素不會讓它表現得像一個輸入。另外,在輸入類型圖像上使用value只是不起作用。你將有X和Y的圖像被點擊的地方與輸入的名字相關聯(我相信)。

+0

如果數據庫中只有1個圖像帶有1個關鍵字,這確實會起作用。但我可以得到很多其他照片,因此創建新的隱藏輸入對我無效 – Orion

0

你可以做的是使用html5數據屬性。 在PHP代碼生成的圖像與此類似:

foreach($images as $key => $img){ 
    echo '<img src="'.$img['path'].'" data-image-id="'.$img['image_id'].'">' 
} 

,甚至使用的元素默認id屬性

foreach($images as $key => $img){ 
    echo '<img src="'.$img['path'].'" id="img'.$img['image_id'].'">' 
} 

Eitherway你應該下一步要做的就是當用戶停止滑動/刷卡檢查圖像相對於容器的位置偏移以獲取當前圖像的ID。或者取決於您的滑動條跟蹤當前顯示的圖像索引。

這些可能會得心應手:

jquery。偏移()http://api.jquery.com/offset/

jQuery的.POSITION()http://api.jquery.com/position/