jQueryEasyUI实现房贷计算器详细教程3--EasyUI部分

1.从载入EasyUI开始

读者需要到EasyUI官网中下载包含原文件和demo的压缩包,并解压到之前编写的代码目录下即可,文件路径请参考下方源代码。参考链接:Download jQuery EasyUI 1.5.2,下载其中的Freeware Edition。

这部分教程的内容集中在如何用EasyUI编写房贷计算器。如果读者学习并实现过前两部分HTML和jQuery的教程,那么学习这一部分的难度会大大降低,只需要关注纯粹的EasyUI内容即可;如果读者没有学习过前两部分内容,也可以直接学习这一部分内容,对房贷计算器内容和交互部分,可以先运行最后给出的完整代码来理解。

源代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>房贷计算器</title>
    <link rel="stylesheet" type="text/css" href="jquery-easyui-1.5.2/themes/default/easyui.css">
    <link rel="stylesheet" type="text/css" href="jquery-easyui-1.5.2/themes/icon.css">
    <link rel="stylesheet" type="text/css" href="jquery-easyui-1.5.2/themes/color.css">
    <link rel="stylesheet" type="text/css" href="jquery-easyui-1.5.2/demo/demo.css">
</head>
<body>
    <h2>房贷计算器</h2>
    <script type="text/javascript" src="jquery-easyui-1.5.2/jquery.min.js"></script>
    <script type="text/javascript" src="jquery-easyui-1.5.2/jquery.easyui.min.js"></script>
    <script type="text/javascript" src="jquery-easyui-1.5.2/locale/easyui-lang-zh_CN.js"></script>
    <script type="text/javascript" src="fd_easyui.js"></script>
</body>
</html>

先修知识:

  1. <link> 标签最常见的用途是链接样式表,源代码中链接了常用的4个EasyUI样式,参考链接:HTML link 标签
  2. 读者需要对CSS样式有简单的了解,只需要知道CSS 可以改变HTML外观即可,
    参考链接:CSS 简介

代码中链接了4个常用EasyUI样式和3个JavaScript文件,并将自己编写的JavaScript代码放在相同目录的fd_easyui.js 文件中。

2.如何学习EasyUI

读者可以按照以下5个步骤,学习和使用EasyUI:

  1. 了解EasyUI有哪些插件,以及这些插件的效果,选择合适的插件来实现想要的功能,参考链接:EasyUI Demo 在线实例
  2. 了解插件的属性,思考自己会用到哪些属性,以及如何编写这些属性。
  3. 了解插件的事件,思考自己会用到哪些事件,以及如何编写这些事件。
  4. 了解插件的方法,思考自己会用到哪些方法,以及如何编写这些方法。
  5. 参考EasyUI插件文档中对于插件属性、事件和方法的详细说明,运行我们下载并解压的官方文档jquery-easyui-1.5.2\demo目录下的demo,每一个插件都有几个参考样例,其中basic.html演示了插件基本功能,其余样例演示了设置不同的属性、事件和方法后,插件的效果有何变化。

3.页面布局

功能:
把所有的输入输出文本框都显示在一列,显得过于冗长,我们需要把用户输入的房贷信息和房贷详情的计算结果分成两列显示。使用EasyUI的Layout插件可以实现页面布局功能,布局(layout)是有五个区域(北区 north、南区 south、东区 east、西区 west 和中区 center)的容器。中间的区域面板是必需的,边缘区域面板是可选的。每个边缘区域面板可通过拖拽边框调整尺寸,也可以通过点击折叠触发器来折叠面板。我们将用户的输入信息放在,中区,将计算结果信息放在东区。

效果截图:

源代码:

    <div class="easyui-layout" style="width:801px;height:570px;">
        <div data-options="region:'center',title:'房贷详情'"  style="padding:10px;"  >

        </div>

        <div data-options="region:'east',title:'计算结果',collapsible:false" style="width:400px;">

        </div>
    </div>

先修知识:

  1. 在HTML标签中加入class="easyui-layout",表示这是一个EasyUI插件。
  2. 教程中用使用style设置标签的宽(width)、高(height)、内边距(padding)和外边距(margin),这些数值都是调整好之后的,读者可以先不设置这些值,把整个页面编写完之后,再自行调整,参考链接:HTML style 属性CSS width 属性CSS height 属性CSS padding 属性CSS margin 属性
  3. 简单了解Layout插件的效果和功能,参考链接:EasyUI Layout 布局,参考demo:jquery-easyui-1.5.2\demo\layout\basic.html
  4. EasyUI插件的属性,可以在标签中用data-options属性来设置,例如:data-options="region:'center',title:'房贷详情'"
  5. Layout插件的region属性定义布局面板(layout panel)的位置,其值是下列之一:north、south、east、west、center;title属性表示布局面板(layout panel)的标题文本;collapsible属性定义是否显示可折叠按钮。参考链接:EasyUI Layout 布局,参考demo:jquery-easyui-1.5.2\demo\layout\nocollapsible.html

4.选择贷款类别

我们将用户选择贷款类型和自动修改贷款利率这两个紧密关联的功能,放在一个小面板中。

效果截图:

源代码:
HTML源代码:

         <div style="width:380px;height:100px;  margin-bottom: 10px ">
                <div class="easyui-panel" title="贷款类别" style="width:380px;height:100px; padding:10px; " >

                    <div>
                        <input id="cc" style="width:250px;">
                    </div>
                    <div id="sp">
                        <div style="line-height:22px;background:#fafafa;padding:5px;">请选择贷款类别</div>
                        <div style="padding:10px">
                            <input type="radio" name="dai_kuan_lei_bie" value="gong_ji_jin_dai_kuan" checked ="checked" ><span>公积金贷款</span><br/>
                            <input type="radio" name="dai_kuan_lei_bie" value="shang_ye_dai_kuan"><span>商业贷款</span>
                        </div>
                    </div>

                    <div>
                        <input  id="id_dai_kuan_li_lv" class="easyui-textbox" type="text" name="dai_kuan_li_lv" value="3.25" label="贷款利率:" labelPosition="left" style="width:250px;"> %

                    </div>
                </div>
            </div>

JavaScript源代码:

$('#cc').combo({
        editable:false,
        label:'选择贷款类型:',
        labelPosition:'left'
    });

    $('#sp').appendTo($('#cc').combo('panel'));

    $('#cc').combo('setValue', "gong_ji_jin_dai_kuan").combo('setText', "公积金贷款");

    $('#sp input').click(function(){
   
        var v = $(this).val();
        var s = $(this).next('span').text();
        $('#cc').combo('setValue', v).combo('setText', s).combo('hidePanel');
    });

    $("#sp input").change(function () {
   
        if ( $("input:radio[name=dai_kuan_lei_bie]:checked").val() == "shang_ye_dai_kuan")
        {
            $("#id_dai_kuan_li_lv").textbox('setValue',"4.90");
        } else
        {
            $("#id_dai_kuan_li_lv").textbox('setValue',"3.25");
        }
    });

先修知识:

  1. EasyUI的面板用Panel插件实现,参考链接:EasyUI Panel 面板,参考demo:jquery-easyui-1.5.2/demo/panel/basic.html
  2. EasyUI中没有与radio样式直接对应的插件,我们使用功能类似的Combo组合代替。参考demo:jquery-easyui-1.5.2/demo/combo/basic.html中用Combo插件实现了radio单选按钮的功能,我们只需要在这个demo上稍作修改,就可以实现我们需要的功能。需要注意的是组合(combo)可以使用 javascript 从 <select><input> 元素进行创建。请注意,从标记创建组合(combo)是无效的,参考链接:EasyUI Combo 组合
  3. 用JavaScript设置EasyUI插件的属性的流程如下,以combo为例:

    $(‘#cc’).combo({
    editable:false,
    label:’选择贷款类型:’,
    labelPosition:’left’
    });
    首先只能使用jQuery的id选择器来选择元素,然后说明插件的类型(本例中是combo),然后在大括号中设置属性的值。

  4. combo插件的editable属性定义用户是否可以往文本域中直接输入文字。EasyUI插件可以使用labellabelPosition属性定义标记和标记的位置,功能与HTML的label标签相同,参考链接:EasyUI Combo 组合HTML
  5. 通过 jQuery,可以把动作/方法链接起来。即允许我们在一条语句中允许多个 jQuery 方法(在相同的元素上)。语句$('#sp').appendTo($('#cc').combo('panel'));就是在同一个元素上运行了两个方法,参考链接:jQuery - Chaining
  6. jQuery的appendTo() 方法在被选元素的结尾(仍然在内部)插入指定内容,参考链接:appendTo() 方法
  7. 用JavaScript调用EasyUI插件的方法的流程如下,以combo为例:
    无参数:$('#cc').combo('panel');
    有参数:$('#cc').combo('setValue', "gong_ji_jin_dai_kuan");
    其中combo代表插件名称, 'setValue''panel'代表插件插件的方法名, "gong_ji_jin_dai_kuan"是传入参数的值。
  8. combo插件的panel方法用来返回下拉面板对象,setValue 方法用来设置组件的值,setText 方法用来设置文本值,hidePanel 方法用来隐藏下拉面板,参考链接:EasyUI Combo 组合
  9. jQuery可以通过this关键字选择被选中的元素,参考链接:jQuery 核心 - jQuery() 方法中的用法 2 :使用 DOM 元素部分。
  10. <span> 标签被用来组合文档中的行内元素,参考链接:HTML 标签
  11. jQuery的text() 方法用来设置或返回被选元素的文本内容,参考链接:jQuery 文档操作 - text() 方法
  12. EasyUI的textbox插件用来实现文本框。textboxsetValue方法用来设置文本框的值;textboxgetValue方法用来设置文本框的值。参考链接:TextBox,参考demo:jquery-easyui-1.5.2/demo/textbox/basic.html

5.选择计算方式

采用EasyUI标签页插件实现用户选择计算方式的功能,取代之前使用单选按钮加隐藏输入框的方式。采用EasyUI组合框插件实现用户选择首付比例的功能,取代之前使用的下拉列表。

效果截图:

源代码:

        <div style="width:380px;height:130px;  margin-bottom: 10px ">
                <div id="id_ji_suan_fang_shi" class="easyui-tabs" style="width:380px;height:130px">
                    <div title="根据面积、单价、首付比例计算" style="padding:10px">
                        <div>
                            <input  id="id_dan_jia" class="easyui-textbox" type="text" name="dan_jia" label="单价:" labelPosition="left" style="width:250px;"> 元/平方米
                        </div>

                        <div>
                            <input  id="id_mian_ji" class="easyui-textbox" type="text" name="mian_ji" label="面积:" labelPosition="left" style="width:250px;"> 平方米
                        </div>

                        <div >
                            <select id ="id_shou_fu_bi_li" class="easyui-combobox" name="shou_fu_bi_li" label="首付比例:" labelPosition="left" style="width:250px;">
                                <option value="0">无</option>
                                <option value="0.1">1成</option>
                                <option value="0.2">2成</option>
                                <option value="0.3" selected = "selected">3成</option>
                                <option value="0.4">4成</option>
                                <option value="0.5">5成</option>
                                <option value="0.6">6成</option>
                                <option value="0.7">7成</option>
                                <option value="0.8">8成</option>
                                <option value="0.9">9成</option>
                            </select>
                        </div>
                    </div>

                    <div title="根据贷款总额计算" style="padding:10px">
                        <div>
                            <input  id="id_dai_kuan_zong_e" class="easyui-textbox" type="text" name="dai_kuan_zong_e" label="贷款总额:" labelPosition="left" style="width:250px;"> 元
                        </div>
                    </div>
                </div>
            </div>

先修知识:

  1. EasyUI用tabs创建选项卡插件,参考链接:Ea
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
######################################## jQuery EasyUI 1.5.2 版中文版开发工具包 EasyUI Development Toolkit Build 1 说明文档 Version 1.2 ######################################## 注意:本开发包欢迎转载,但是请完整保留该文档及开发包目录结构,谢谢! 【一.开发包组成】 jquery-easyui-1.5.2 │ ├demo:easyui普通网页演示页面代码库(可以从中参考很多组件的用法,是个非常好用的demo库。) │ ├demo-mobile:easyui手机端网页演示页面代码库(可以从中参考很多组件的用法,是个非常好用的demo库。) │ ├docs:easyui中文API文档【PDF、EXE和CHM版】(该文档系本人原创翻译制作。) │ ├extension:easyui第三方插件库(里面会收录官方提供以及第三方提供的各类优秀插件,每个插件的用法最终都会体现到API文档当中。) │ ├locale:easyui国际化资源文件库(需要用到国际化的时候就需要在页面中引用该包路径下的文件。) │ ├plugins:easyui核心功能组件分解后的独立插件库(需要配合easyloader.js一起使用。) │ ├src:easyui部分非核心组件的源代码库(核心大组件的源代码并未公布,比如datagrid、combo和tree等。) │ ├themes:easyui的皮肤库(皮肤库中会收录所有网上能找得到的皮肤,所以大家不用再去自己乱搜了。) │ ├changelog.txt:easyui版本官方更新日志文件[英文版](该文件内容可以参考API当中的更新说明。) │ ├easyloader.js:easyui组件加载器(easyui提供了2种组件加载方式,这就是其中一种,当使用该方式的时候可以不必引入jquery.easyui.min.js文件,具体用法请参看api文档。) │ ├jquery.easyui.min.js:easyui的完整组件包文件(当使用了该文件的时候就可以不必引入easyloader.js文件,具体用法请参考官方demo或api文档。) │ ├jquery.min.js:jQuery框架库文件,该版本的jQuery库提供的是最新的1.11.1版,能够支持IE6、7、8。 │ ├licence_gpl.txt:GNU开源协议文档。 │ └readme.txt:官方的说明,主要告诉你你可以购买商业版来获得完整源代码以及官方的支持。 【二.开发包说明】   本开发包是为了方便大家日常开发使用的,特别是在离线或断网环境下可以以最快、最便捷的方式找到自己需要的东西。由于本包是发布的第一个版本,所以东西固然会不全面,在后续版本中会逐步加入并完善,以解决大家的后顾之忧。如果你也有什么好的扩展可以推荐给大家的话,大家可以用邮件的形式将扩展以及相关的API说明发送给我,我会在测试确认之后打包到下一个版本的扩展库中。我的邮箱是:richie696@163.com 【三.版本说明】   本开发包的大版本更新将会同步EasyUI版本更新,当在同一个easyui版本中间有2次或者更多更新版本的时候,会更改开发包的build版本,比如首个版本是jquery-easyui-EDT-1.5.2-build1,那第二个版本就是jquery-easyui-EDT-1.5.2-build2,以此类推。每次更新都会附上详细的更新说明。 【四.其它杂谈】   另外,建议Javascript基础不是太好的同学去找些书籍看看,书籍有很多,不过我只看过Javascript高级编程,现在应该已经出到第三版了,个人感觉挺好的,有需要的同学可以度娘一下!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值