select下拉框的响应事件

写了几次SSH的小项目,一步步还是有学到很多东西,记录一下,以后忘了的话,还可以翻翻看看。
注:越来越觉得用div标签的好处了
首先实现一个小功能,下拉框的时间的响应

<tr>
    <td colspan="3">按照用户ID查询: 
        <select onchange="selectChange()"id="selectSId">
            <option value="0">all users</option>
            <s:iterator value="student_all_list" id="student">
                <%-- 判断当前显示的结果集中的SId与自己已经选择的SId是否相同
                  -- 初始时SId为空,所以显示第一个all users
                  -- 响应一次selectChange时,SId已经生成
                  -- 所以执行完毕之后就会默认selected刚才查询的ID
                  -- 后台本来已经有了SId但是等号后面直接使用SId会和student.SId冲突,所以又重新定义了一个selectSId
                  --%>
                <s:if test="#student.SId==selectSId">
                    <option value="${student.SId}" selected>
                        ${student.SId}
                    </option>
                </s:if>
                <s:else>
                    <option value="${student.SId}">
                        ${student.SId}
                    </option>
                </s:else>
            </s:iterator>
        </select>
    </td>
</tr>

function selectChange(){
    var objS = document.getElementById("selectSId");
    //可以获取到响应的选中项
    var SId = objS.options[objS.selectedIndex].value;
    if("0"==SId) fillWithWords();
    else
    $.ajax({
        url:"selectStudentBySId",
        type:"POST",
        dataType:"html",
        async: false,
        data:{"SId":SId},
        success:function(data) {  
            $("#showStudent").html(data);
        },   
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            alert(textStatus);
            },
        complete:function(data) {  
        },
       });  
}
//Action中要使用的数据,直接用@Setter @Getter即可
    @Setter @Getter
    private List student_list;
    @Setter @Getter
    private List student_all_list;
    @Resource @Setter @Getter
    private StudentService studentService;
    @Setter @Getter
    private String SId;
    @Setter @Getter
    private String selectSId;

很简单的功能,都是些细节问题。
用了Struts的标签
注:#,%{},%{#}以及${},要区分开来

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值