2013-04-18 116 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