EasyUI-----给combobox添加OnSelect事件

    接手ITOO_Basic系统好长时间了,很想自己实现一个功能,以前听光哥说咱选课这一块听说数据不同步,于是自己想解决这个问题。

    具体的问题如下

    选课表中的数据是手动添加到数据库中去的,没有代码实现,基础系统的所有的课程都存在一张表中,其中表中的课程性质分为公共选修,公共必修,专业选修、专业必修,但是公共选修课的性质又分为人文社科、艺术体育、自然科学,但是这些字段根本在数据库中没有。

    解决办法:在CourseEntity中添加PublicChooseCourseType字段,然后更新Model和ViewModel层,最后在Controler里面增加获取前台Combbox内容的代码。最后就是前台EasyUI判断combobox中判断其中的输入内容了,若里面的内容是公共选修课,则公共选修课的combobox的控价显示出来(默认是不显示的),若里面的内容不是公共选修课,则不显示。

    前台EasyUI页面代码如下所示

<div class="fitem" style="margin: 20px 10px;">
            <label class="fontstyle" style="margin-left: 80px;">类型:</label>
            <input id="addcourseTypName" name="CourseTypName"  class="easyui-combobox" required="required" />
            <label class="fontstyle" style="margin-left: 45px;">性质:</label>
            <input id="addcoursePropertyName" name="CoursePropertyName" class="easyui-combobox" required="required"  />

        </div>
        <div id="PublicChooseCourse" style="display: none" >
            <label class="fontstyle" style="margin-left: 70px;">公共选修课性质:</label>
            <input id="PublicCourseType" name="PublicCourseType" class="easyui-validatebox textbox" required="required" />
        </div>

   JS代码如下

 $("#addcourseTypName").combobox({
        onSelect: function () {
            var newPtion = $("#addcourseTypName").combobox('getText')
            if (newPtion == "公共选修") {
                $("#PublicChooseCourse").css("display", "block");
            }
            else {
                $("#PublicChooseCourse").css("display", "none");
            }
        }
    })

    上面就是Combobox的onSelect事件,相对应者还有onChange事件,onSelect事件的作用是当我们选择Combobox中的内容时触发此事件。

   这么一个简单的小功能,废了我好长时间才弄成的,在JS代码这吃了很多亏,因为EasyUI中的控件不像HTML中的控件一样,在HTML中的控件中,我们可以随便添加代码,但是在EasyUI中,我们添加的一些代码在运行时它不识别,只能用里面这个控件Combobox特定属性和事件(以前吃了很大的亏啊),现在才知道EasyUI的API文档是多么的重要,以后还是跟着帮助文档过日子吧!


你可能感兴趣的:(JavaScript,Web,box,combo)