jsp中下拉框中的值从数据库中动态获取

jsp中下拉框中的值从数据库中动态获取,第1张

jsp中把数据库全量查询后填充select列表:

举例说明:

<table>

<tr>

<td width="400px" align="left">入学批次:<SELECT NAME="grade"

id="grade" onchange="refreshEduLevelAndSpecialAjax();"> //选择入学批次会刷新层次和专业

<OPTION VALUE="0">

--请选择--

<c:forEach items="${gradeInfo}" var="gradeInfo">

<OPTION VALUE="${gradeInfogradeName}">${gradeInfogradeName}

</c:forEach>

</SELECT></td>

<td width="400px" align="left">统考课程:<SELECT

NAME="uniExamCourseId" id="uniExamCourseId">

<OPTION VALUE="0">

--请选择--

<c:forEach items="${unifiedExamCourseList}" var="uniExamCourse">

<OPTION VALUE="${uniExamCourseid}">${uniExamCourseuniExamCourseName}

</c:forEach>

</SELECT></td>

</tr>

<tr>

<td colspan="2" id="refreshEduLevelAndSpecialAjax"> //设置ID,用于填充层次和专业的下拉框

<table>

<tr>

<td width="400" align="left">层 次:<SELECT

NAME="eduLevelId" id="eduLevelId"

onchange="refreshSpecialAjax();"> //选择层次后刷新专业

<OPTION VALUE="0">--请选择--</OPTION>

<c:forEach items="${educationLevel}" var="educationLevel">

<OPTION VALUE="${educationLevelid}">${educationLeveleducationLevelName}

</c:forEach>

</SELECT></td>

<td width="400" align="left" id="refreshSpecialAjax">专 业:<SELECT //设置ID,用于填充专业的下拉框

NAME="specialId" id="specialId">

<OPTION VALUE="0">--请选择--</OPTION>

<c:forEach items="${specialList}" var="special">

<OPTION VALUE="${specialid}">${specialspecialName}

</c:forEach>

</SELECT></td>

</tr>

</table>

</td>

</tr>

</table>

java后台通过dao接口获取specialList的值,并且保存到session即可。

var obj=documentgetElementById('mySelect');

for(var i=0;i<jsondatalength;i++){

    objadd(new Option(jsondata[i],jsondata[i]));

}

根据你传输的数据的实际格式进行修改一下吧。你后端不能用  linq吗?  都不通写 Response 前端不能用jquery+其他UI框架吗,比如easyui?那会简单很多,真的 

本人用的PHP,其实思路应该是差不多的。

我用的是AJAX,对每次下拉框的onchange事件,作一次异步请求,请求的当然就是服务器的处理程序了(一般是查询数据库),获取返回的json结果,然后再通过JS显示在后面的文本框

下面是分类联动选择的部分JS代码:

//子级category选择

getChildCategory:function(p,c,g){

//$("#pArea")live('change',function(){

var parent_id = $("#" + p)val();

if(parent_id == 0){

return false;

//$("#" + c)hide();

//$("#" + g)hide();

}

$ajax({

type:"POST",

url:"include/getNextCategoryphptype=child",

dataType:"json",

data:{"parent_id":parent_id},

success:function(json){

if(jsonsuccess == 1){

//alert("这里能执行???");

//$("#" + c)show();

$("#" + c)html("");

$("#" + c)append(jsonnext_category);

//$("#" + c)get(0)selectedIndex = 0;

$("#" + g)html("");

} else {

//alert("failed");

//$("#" + c)html("<option>其他</option>");

}

}

});

//alert(p_category + " > " + c_category + " > " + g_category);

$("#category")val(p_category + " > " + c_category + " > " + g_category);

},

后台程序也很简单:

if($type == 'child'){

$query = "SELECT cid, name FROM aidu_category WHERE pid = '$pid'";

}

if($type == 'grand'){

$query = "SELECT cid, name FROM aidu_category WHERE pid = '$cid'";

}

$db->query($query);

$arr['next_category'] = "";

if($pid == '0' || $cid == '0'){

$arr['success'] = 0;

}

if($db->db_num_rows() > 0){

$arr['success'] = 1;

while($row = $db->fetch_assoc()){

$arr['next_category'] = "<option value="  $row['cid']  ">"  $row['name']  "</option>";

}

} else {

$arr['success'] = 0;

//echo "没有查询到子级区域";

}

echo json_encode($arr);

-  -本人技术比较菜,请见谅

JS访问数据库应该是可以的,前提是你必须把网页保存成hta格式。html格式的文件没有足够的权限。

楼主如果想在网页中访问数据库,就不要使用JS吧,PHP/ASP/JSP都行。

如果楼主想做一个本地使用的程序访问数据库,那只要把页面存成hta就行了。

/

  @author zhou2003737

  @date  2014/09/25 16:39

 /

<html doctype="html">

    <head>

        <title></title>

        <script type="text/javascript">

                windowonload = function(){

                    //获取文本框对象

                    var searchText = documentgetElementById("searchText");

                    //获取提交button对象

                    var action = documentgetElementById("action");

                    //获取要增加到的下拉列表对象

                    var selections = documentgetElementById("selections");

                    //点击提交的时候执行的方法

                    actiononclick = function(){

                        //如果文本框对象中值不为空

                        if(searchTextvalue ){

                            //根据文本框中的值循环5次

                            for(var i =5;i>0;i--){

                                //设置下拉列表中的值的属性

                                var option = documentcreateElement("option");

                                    optionvalue = searchTextvalue + i;

                                    optiontext= searchTextvalue+i;

                                //将option增加到下拉列表中。

                                selectionsoptionsadd(option);

                            }

                        }

                    }

                }

            //思路如上。你可以将点击时将文本框中值传到后台,后台返回数据后,在将数据存入下拉列表对象中。

        </script>

    </head>

    <body>

        <p><input type="text" placeholder="请输入查询对象" autofocus  id="searchText"/></p>

        <p><input type="button" id="action" value="提交"/></p>

        <p><select id="selections">

        </select></p>

    </body>

</html>

以上就是关于jsp中下拉框中的值从数据库中动态获取全部的内容,包括:jsp中下拉框中的值从数据库中动态获取、JS返回值绑定selected下拉框、JSP中下拉框是从数据库中读取的。当下拉框选择是,后面的文本框显示对应的信息,如何做最好有例子等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9479355.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存