1:这是jsp页面的内容:
<script>
function changeqx(oCt1)
{
var amap={};
amap.qxid=oCt1.value;
amap.qx="";
hello.findJdByQx(amap,jiazaijiedao);
}
function jiazaijiedao(list)
{
if(list.size()>0)
{
alert("have");
}else
{
alert("no");
}
}
</script>
<td>区县:</td>
<td><html:select property="condition.qxid" style="width:80" onchange="changeqx(this)"></td>2:下面是hibernate中的内容:
(1):public class TblJd implements java.io.Serializable { // Fields private Integer jdid;
private TblQx tblQx;
private String jd;
(2):public class TblQx implements java.io.Serializable { // Fields private Integer qxid;
private String qx;
private Set tblJds = new HashSet(0);
(3):public class TblJdDAO extends BaseHibernateDAO {
private static final Log log = LogFactory.getLog(TblJdDAO.class);
// property constants
public static final String JD = "jd";
public List findJdByQx(TblQx tq)
{
String hql="select tj.jd from TblJd tj where tj.tblQx=:tq";
Query query=getSession().createQuery(hql);
query.setEntity("tq", tq);
return query.list();
}
3:下面是dwr.xml中的配置:
<dwr>
<allow>
<create javascript="hello" creator="new">
<param name="class" value="com.lc.dao.TblJdDAO"/>
</create>
<convert converter="bean" match="com.lc.dao.TblJd">
<param name="jdid,jd,tblQx"></param>
</convert>
<convert converter="bean" match="com.lc.dao.TblQx">
<param name="qxid,qx,tblJds"></param>
</convert>
</allow>
</dwr>
----------------------------------------------------------------------
运行以后onchange()不好使,回调函数不起作用,请问这是什么原因啊?
该如何写呢?
<script>
function changeqx(oCt1)
{
var amap={};
amap.qxid=oCt1.value;
amap.qx="";
hello.findJdByQx(amap,jiazaijiedao);
}
function jiazaijiedao(list)
{
if(list.size()>0)
{
alert("have");
}else
{
alert("no");
}
}
</script>
<td>区县:</td>
<td><html:select property="condition.qxid" style="width:80" onchange="changeqx(this)"></td>2:下面是hibernate中的内容:
(1):public class TblJd implements java.io.Serializable { // Fields private Integer jdid;
private TblQx tblQx;
private String jd;
(2):public class TblQx implements java.io.Serializable { // Fields private Integer qxid;
private String qx;
private Set tblJds = new HashSet(0);
(3):public class TblJdDAO extends BaseHibernateDAO {
private static final Log log = LogFactory.getLog(TblJdDAO.class);
// property constants
public static final String JD = "jd";
public List findJdByQx(TblQx tq)
{
String hql="select tj.jd from TblJd tj where tj.tblQx=:tq";
Query query=getSession().createQuery(hql);
query.setEntity("tq", tq);
return query.list();
}
3:下面是dwr.xml中的配置:
<dwr>
<allow>
<create javascript="hello" creator="new">
<param name="class" value="com.lc.dao.TblJdDAO"/>
</create>
<convert converter="bean" match="com.lc.dao.TblJd">
<param name="jdid,jd,tblQx"></param>
</convert>
<convert converter="bean" match="com.lc.dao.TblQx">
<param name="qxid,qx,tblJds"></param>
</convert>
</allow>
</dwr>
----------------------------------------------------------------------
运行以后onchange()不好使,回调函数不起作用,请问这是什么原因啊?
该如何写呢?
你这样写不会报错?没有结束符.你最终select有几个元素呢?如果只有一个元素用onchange是不起做用的.
把问题确定好出在哪就好了
一楼说的很有道理
1.首先配置一定要没有问题,如果有问题了,下面怎么调都白搭,这个正确的配置看它的demo就可以了
2.判断回调有没有起作用,也就是你服务器端java程序有没有运行,这个打印一下就可以看到了
3.如果服务器那边执行了,并且返回值了,那在js里判断返回的是否正确,然后再对值进行处理,这里用alert()看下
}
function jiazaijiedao(list)
这个地方有问题吧,要写一个
var list = hello.findJdByQx(amap,jiazaijiedao);
不然他找不到回调的参数哦