<?php
include "../frame/session.php";
include "../../jwork/Data.php";
//查询代码
$site=$_REQUEST["site"];
$class=$_REQUEST["class_id"];
$keyword=trim($_REQUEST["keyword"]);
$sql="select a.*,b.site_name,c.class_name from product_info a,site_info b,product_class c where a.site_id=b.site_id and a.class_id=c.class_id";
if(!empty($site))
$sql.=" and a.site_id={$site}";
if(!empty($class))
$sql.=" and a.class_id={$class}";
if(!empty($keyword))
$sql.=" and a.title like'%{$keyword}%'";
$sql.=" order by time desc";
$d = new Data();
$d->style="num";
$list=$d->jpage($sql);
$foot=$d->foot;
?>
----------------------------------------以上为查询代码------------------------------------------------
<html>
<head>
<script src="../../jwork/ajax/ajax.js"> </script>
</head> <boby>
<form action="list.php" method="GET">
大类: <select name="site" id="site" onchange="mysmall(this)">
<option value="0"> </option>
<?php
$s = new Data();
$ssql="select * from site_info";
$slist=$s->sqlArray($ssql);
foreach($slist as $rowid=>$row)
{
$key=$row["site_id"];
$value=$row["site_name"];
if($_REQUEST["site"]==$key)
echo " <option value={$key} selected>{$value} </option>";
else
echo " <option value={$key}>{$value} </option>";
}
?>
</select>
小类: <select name="class_id" id="class_id">
<option value="0"> </option>
<?php
$c = new Data();
$csql="select * from product_class";
$clist=$c->sqlArray($csql);
foreach($clist as $rowid=>$row)
{
$key=$row["class_id"];
$value=$row["class_name"];
if($_REQUEST["class_id"]==$key)
echo " <option value={$key} selected>{$value} </option>";
else
echo " <option value={$key}>{$value} </option>";
}
?>
</select> 关键字: <input type="text" name="keyword" size="15" value=" <?php echo $_REQUEST["keyword"]?>" />
<input type="submit" value="搜索" />
</form>
-----------------------------------以上为下拉框的代码内容表单提交到当前页面-----------------------------------
<script>
function mysmall(obj)
{
var ajax = new Ajax();
ajax.jget("../class/ajaxserver.php?act=xy&site_id="+obj.value,ShowResult);
}
function ShowResult(sv)
{
var s = document.getElementById("class_id");
s.options.length=0;
eval(sv);
}
window.onload = function()
{
var bigclass = document.getElementById("site");
mysmall(bigclass);
var s = document.getElementById("class_id");
<?php
if(!empty($_REQUEST["class_id"]))
{
echo < < <EOJ
for(i=0;i <s.length;i++)
if(s.options[i].value==" <?php echo {$_REQUEST["class_id"]}?>")
s.options[i].selected=true;
EOJ;
}
?>
}
</script>
<boby>
</html>
这是js代码,主要用途是用ajax根据大类的选择 无刷新的列出对应小类的内容,选择好后点击搜索, 现在的情况是大类搜索后不变(定那了) 关键字也没有问题 也会保留下来 但小类会恢复原来的初始选项(定不上) window.onload = function()这个作用 是想在页面加载的时候 让其执行大类的ajax,这样就会避免页面第一次加载时不执行ajax的话,不会根据大类情况列出对应的小类,反而会把所有小类都列出来! 我个人认为就是这里出的问题!当点击搜索后 页面会重新执行,到这里就会刷新,所以在里面加了个判断,让其取出搜索后网址中的值 然后让其选中! 但总是达不到预期想法! 应该是处理方法的逻辑不对! 本人新人 分数不多!各位达人 还望慷慨相助!帮忙解决我这个问题! 在此感激不尽!
include "../frame/session.php";
include "../../jwork/Data.php";
//查询代码
$site=$_REQUEST["site"];
$class=$_REQUEST["class_id"];
$keyword=trim($_REQUEST["keyword"]);
$sql="select a.*,b.site_name,c.class_name from product_info a,site_info b,product_class c where a.site_id=b.site_id and a.class_id=c.class_id";
if(!empty($site))
$sql.=" and a.site_id={$site}";
if(!empty($class))
$sql.=" and a.class_id={$class}";
if(!empty($keyword))
$sql.=" and a.title like'%{$keyword}%'";
$sql.=" order by time desc";
$d = new Data();
$d->style="num";
$list=$d->jpage($sql);
$foot=$d->foot;
?>
----------------------------------------以上为查询代码------------------------------------------------
<html>
<head>
<script src="../../jwork/ajax/ajax.js"> </script>
</head> <boby>
<form action="list.php" method="GET">
大类: <select name="site" id="site" onchange="mysmall(this)">
<option value="0"> </option>
<?php
$s = new Data();
$ssql="select * from site_info";
$slist=$s->sqlArray($ssql);
foreach($slist as $rowid=>$row)
{
$key=$row["site_id"];
$value=$row["site_name"];
if($_REQUEST["site"]==$key)
echo " <option value={$key} selected>{$value} </option>";
else
echo " <option value={$key}>{$value} </option>";
}
?>
</select>
小类: <select name="class_id" id="class_id">
<option value="0"> </option>
<?php
$c = new Data();
$csql="select * from product_class";
$clist=$c->sqlArray($csql);
foreach($clist as $rowid=>$row)
{
$key=$row["class_id"];
$value=$row["class_name"];
if($_REQUEST["class_id"]==$key)
echo " <option value={$key} selected>{$value} </option>";
else
echo " <option value={$key}>{$value} </option>";
}
?>
</select> 关键字: <input type="text" name="keyword" size="15" value=" <?php echo $_REQUEST["keyword"]?>" />
<input type="submit" value="搜索" />
</form>
-----------------------------------以上为下拉框的代码内容表单提交到当前页面-----------------------------------
<script>
function mysmall(obj)
{
var ajax = new Ajax();
ajax.jget("../class/ajaxserver.php?act=xy&site_id="+obj.value,ShowResult);
}
function ShowResult(sv)
{
var s = document.getElementById("class_id");
s.options.length=0;
eval(sv);
}
window.onload = function()
{
var bigclass = document.getElementById("site");
mysmall(bigclass);
var s = document.getElementById("class_id");
<?php
if(!empty($_REQUEST["class_id"]))
{
echo < < <EOJ
for(i=0;i <s.length;i++)
if(s.options[i].value==" <?php echo {$_REQUEST["class_id"]}?>")
s.options[i].selected=true;
EOJ;
}
?>
}
</script>
<boby>
</html>
这是js代码,主要用途是用ajax根据大类的选择 无刷新的列出对应小类的内容,选择好后点击搜索, 现在的情况是大类搜索后不变(定那了) 关键字也没有问题 也会保留下来 但小类会恢复原来的初始选项(定不上) window.onload = function()这个作用 是想在页面加载的时候 让其执行大类的ajax,这样就会避免页面第一次加载时不执行ajax的话,不会根据大类情况列出对应的小类,反而会把所有小类都列出来! 我个人认为就是这里出的问题!当点击搜索后 页面会重新执行,到这里就会刷新,所以在里面加了个判断,让其取出搜索后网址中的值 然后让其选中! 但总是达不到预期想法! 应该是处理方法的逻辑不对! 本人新人 分数不多!各位达人 还望慷慨相助!帮忙解决我这个问题! 在此感激不尽!
解决方案 »
- jsp:include
- 我要崩溃了,flexigrid改变查询条件后data undefined,已解决
- 文件名长度问题
- 为什么html接收的中文结果为编码%c8%FD%B9%FA
- 用javascript写了个下拉菜单,如何改可以把下拉菜单打开网页是收缩的
- 如何监测浏览器关闭事件
- 请问如何定位显示<div></div>之间的元素?
- 求助大神:为什么我用代码中注释部分可以完成数组中对象的位置更换,而用 return value1-value2;却不可以,是什么原因啊
- 输入框默认己显示黑色字体, 怎么样设置自己输入的字体显示为蓝色
- javascript表格动态添加行,选择物品,需要能够自动计算出每行的金额,最后能计算出所有行金额的合计
- jquery问题
- select 美化,并且能把先定的值通过FORM传到变量里
只是在选择第一项<option value="">选择大类</option>时,浏览器会报N(N=大类个数)个js错误,但是不影响正常使用,你的代码对我很有启发!
<script language = "JavaScript" type="text/javascript">
<%
Set Rs = Server.CreateObject("Adodb.Recordset")
Rs.Open "SELECT * FROM article_class where Flag<>0",conn,1,1
%>
var onecount;
onecount=0;
subcat = new Array();
<%
i = 0
Do While Not Rs.eof
%>
subcat[<%=i%>] = new Array("<%= Trim(Rs("ClassName"))%>","<%= Rs("Flag")%>","<%= Rs("Unid")%>");
<%
i = i + 1
Rs.MoveNext
Loop
Rs.Close
%>
onecount=<%=i%>;
function changelocation(locationid,newsorder)
{
newsorder.SmallClassNo.length = 0;
var locationid = locationid;
var i;
for (i = 0;i < onecount; i++)
{
if (subcat[i][1] == locationid)
{
newsorder.SmallClassNo.options[newsorder.SmallClassNo.length] = new Option(subcat[i][0], subcat[i][2]);
}
}
}
</script>
<table width="95%" border="1" cellspacing="0" cellpadding="3" align="center" bordercolorlight="#ECEEE4" bordercolordark="#CCCABC">
<tr>
<td colspan="8" align="center" height="30" background="image/tablebg.gif"><b>小 栏 目 文 章 排 序</b> </td>
</tr>
<tr align="center">
<td height="25">ID</td>
<td>排序操作</td>
<td>文章标题</td>
<td>时间</td>
</tr>
<tr>
<form name="newsorder" action="" method="post">
<td height="25" colspan="7">选择文章大栏目:
<select name="BigClassNo" id="BigClassNo" onChange="changelocation(document.newsorder.BigClassNo.options[document.newsorder.BigClassNo.selectedIndex].value,document.newsorder);">
<option value="">选择大类
</option>
<%
sqlc = "Select Unid,Classname from article_class where flag = 0 order by Unid asc"
Set RsBig = Conn.execute(sqlc)
if not RsBig.eof then
do while not RsBig.eof
Response.write "<option value="&RsBig(0)
if Qcdn.checkStr(Request.form("BigClassNo"))<>"" then
if RsBig(0)-Qcdn.checkStr(Request.form("BigClassNo"))=0 then
Response.write " selected"
else
Response.write " id="&RsBig(0)
end if
end if
Response.write ">---|"&RsBig(1)&"</option>"
RsBig.movenext
%>
<script language="javascript" type="text/javascript">
window.onload=function()
{
changelocation(document.newsorder.BigClassNo.options[document.newsorder.BigClassNo.selectedIndex].value,document.newsorder);
for(var w=0;w<newsorder.SmallClassNo.length;w++)
{
if(document.newsorder.SmallClassNo.options[w].value==<%=Qcdn.checkStr(Request.form("SmallClassNo"))%>)
{
document.newsorder.SmallClassNo.options[w].selected=true;
}
}
}
</script>
<%
loop
else
Response.write "<option value="">还没有添加大栏目</option>"
end if
RsBig.close
%>
</select>
选择文章小栏目:
<select name="SmallClassNo" id="SmallClassNo">
<option value="">选择小类</option>
<%
If BigClassNo <> "" and SmallClassNo <> ""Then
Set RsSmall = Conn.Execute("SELECT * FROM article_class WHERE flag = "&rs(0))
Do While Not RsSmall.Eof
Response.Write "<option value="&RsSmall(0)&">---|"&RsSmall(1)&"</option>"
RsSmall.MoveNext
Loop
End if
Set RsSmall = Nothing
%>
</select>
<input type="submit" name="submit" value="筛选" class="tbutton">
</td>
</tr>