2013-04-18 114 views
0

我已經得到了讓用戶選擇一個「文件夾」,然後jQuery代碼偵聽並顯示代碼的後續腳本。現在,代碼位於選擇框中,但我希望它們僅顯示爲鏈接。這可能嗎?作出選擇選項只是鏈接

這裏是jQuery的:

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#theselect").change(function() { 
var option = $(this).val(); 
var selectedUser = $("#thename").val(); 
$.get("selectfolders.php", {select:option,username:selectedUser},function(data){ 
    $("#theresult").html(data).hide().fadeIn(1000); 
}); 
}); 
}); 
</script> 



這裏的PHP代碼來查找並顯示所有用戶文件夾(這是我想成爲鏈接,而不是一個選擇框。 )

<select name="theselect" id="theselect"> 
<option value="">Select</option> 
<? 
$thelistquery = mysql_query("SELECT * FROM folders WHERE username='$username'"); 
while ($lrows = mysql_fetch_array($thelistquery)) { 
$id = $lrows['ID']; 
$foldername = $lrows['foldername']; 
$newfoldername = mysql_real_escape_string($foldername); 

echo "<option value='$newfoldername'>$newfoldername</option>"; 
} 
?> 
</select> 

Selectfolders.php

$username = $_GET['username']; 
$theselect = $_GET['select']; 

$thelistquery = mysql_query("SELECT * FROM folders WHERE username='$username'"); 
while ($lrows = mysql_fetch_array($thelistquery)) { 
$id = $lrows['ID']; 
$foldername = $lrows['foldername']; 
$newfoldername = mysql_real_escape_string($foldername); 

if($_GET['select'] == "$newfoldername") { 
//What to display 
} 
} 


?> 
+0

你想選擇一個'option',然後去那個URL?或者你想把'select'元素*中的'option'變成*(鏈表)列表?你能顯示你的HTML嗎? –

+0

從select中選擇並將它們變爲鏈接。每個選項的html都在第二個代碼框中。我使用php來獲取所有用戶文件夾的列表並顯示它們。 – derekshull

+0

而你想做這個客戶端或服務器端?這是第二個代碼框中的* not * HTML,這是一個[tag:php]腳本,它生成* [tag:html]。 –

回答

0

更改jQuery以使用標記點擊事件而不是更改事件。 請注意,「.folders」選擇器是我添加到標籤中的類,因此您不需要使用引用頁面上所有標籤的選擇器。

<script type="text/javascript"> 
$(document).ready(function() { 
$(".folders").click(function() { //<-------Changes here 
var option = $(this).val(); 
var selectedUser = $("#thename").val(); 
$.get("selectfolders.php", {select:option,username:selectedUser},function(data){ 
    $("#theresult").html(data).hide().fadeIn(1000); 
    }); 
}); 
}); 
</script> 

修改輸出以顯示鏈接,方法是移除周圍的標記並將標記更改爲標記。還添加了一個類,以輕鬆選擇它與jQuery。

$thelistquery = mysql_query("SELECT * FROM folders WHERE username='$username'"); 
while ($lrows = mysql_fetch_array($thelistquery)) { 
$id = $lrows['ID']; 
$foldername = $lrows['foldername']; 
$newfoldername = mysql_real_escape_string($foldername); 

//Changed the below to a link with a class 
echo "<a class='folders' value='$newfoldername'>$newfoldername</a>"; 
} 
echo "<input type='text' value='$username' name='thename' />"; 
+0

當我點擊它們時,它們不顯示任何信息。它不會傳遞我認爲的文件夾名稱。 – derekshull

+0

您需要發佈selectfolders.php中的內容。也是一個結束標籤,應該在那裏。另外請注意,所選用戶的輸入未被髮布的代碼列出,我假定您將其排除在外。爲了完整性,我添加了它。 – Aglystas

+0

我把代碼放在selectfolders.php裏面我有一個隱藏的輸入用戶名在那裏selectedUser字段。這是照顧。感謝您的幫助,不知道它出了什麼問題。 – derekshull