easyui 如何为标签动态追加属性实现渲染效果
简述一下在项目遇到的问题,这边有一个需求,选择不同类型,加载不同的div标签(其中属性是否必填是区分类型的关键)
html界面是这样的
<div class="grid_1 lbl">规则类型:</div>
<div class="grid_3 val"><input type="text" data-bind="comboboxValue:form.RULETYPE, datasource:dataSource.RuleTypes,comboboxReadOnly:readonly" data-options="onChange:RuleTypeChange"
class="z-txt easyui-combobox" required="true" /></div>
<div class="clear"></div>
<div id="showDiv">
<div class="grid_1 lbl">规则对象:</div>
<div class="grid_3 val">
<input id="boTable" data-bind="combogridValue:form.BOCLASS,combogridReadOnly:readonly" class="z-txt easyui-combogrid"
data-options="panelWidth:600, mode: 'remote', rownumbers:true,
idField:'MID',
textField:'CODENAME',
pagination:true,
method: 'get',
loadMsg: '正在加载数据...',
url:'/api/Psb/PssValidateRule/GetBoClass',
columns:[[
{ field: 'MID', title: 'MID', width: },
{ field: 'CODENAME', title: '名称', width: },
{ field: 'FULLNAME', title: '对象全名', width: ,hidden:true},
{ field: 'TABLENAME', title: '对象名', width: ,hidden:true},
]],
fitColumns: true,
onSelect:onSelectSourceBill
" />
</div> <div class="grid_1 lbl">计费对象:</div>
<div class="grid_3 val">
<input id="boField" data-bind="combogridValue:form.BOFIELD,combogridReadOnly:readonly" class="z-txt easyui-combogrid" />
</div>
<div class="grid_1 lbl">开始数量:</div>
<div class="grid_3 val"><input id="beginNum" type="text" data-bind="numberboxValue:form.BEGINNUM,numberboxReadOnly: readonly" class="z-txt easyui-numberbox" data-options="min: 0, precision: 0" /></div>
<div class="clear"></div> <div class="grid_1 lbl">规则条件:</div>
<div class="grid_3 val"><input id="costWhere" type="text" data-bind="value:form.COSTWHERE,readOnly:readonly" class="z-txt easyui-validatebox" /></div>
<div class="grid_1 lbl">计算函数:</div>
<div class="grid_3 val"><input id="costMethod" type="text" data-bind="value:form.COSTMETHOD,readOnly:readonly" class="z-txt easyui-validatebox" /></div>
<div class="grid_1 lbl">结束数量:</div>
<div class="grid_3 val"><input id="endNum" type="text" data-bind="numberboxValue:form.ENDNUM,numberboxReadOnly: readonly" class="z-txt easyui-numberbox" data-options="min: 0, precision: 0" /></div>
<div class="clear"></div>
</div> <div class="grid_1 lbl">计费单价:</div>
<div class="grid_3 val"><input type="text" data-bind="numberboxValue:form.COSTPRICE,numberboxReadOnly: readonly" class="z-txt easyui-numberbox" data-options="min: 0, precision: 2" required="true" /></div>
<div class="grid_1 lbl">超出单价:</div>
<div class="grid_3 val"><input type="text" data-bind="numberboxValue:form.OVERPRICE,numberboxReadOnly: readonly" class="z-txt easyui-numberbox" data-options="min: 0, precision: 2" /></div>
<div class="clear"></div>
在选择规则类型时,动态隐藏显示divc层,当显示div层时,为div下的每个标签添加必填属性;反之,移除对应标签的必填属性
js方法
//加载时,默认隐藏div
$("#showDiv").attr("style", "display:none;"); //隐藏div
//获取规则类型
var ruleType = @((int)Dxc.Persistent.DxcEnumCostRuleType.Change); //变动
//规则类型切换
RuleTypeChange = function (newValue, oldValue) {
//当规则类型是变动时
if (newValue == ruleType)
{
$("#showDiv").attr("style", "display:block;"); //显示div
//jquery 动态追加属性(已追加,不渲染效果)
//$('#boTable').attr("required",true);
//easyui 动态追加属性
$('#boTable').combogrid({required:true});
$('#boField').combogrid({required:true});
$('#beginNum').numberbox({required:true});
$('#endNum').numberbox({required:true});
$('#costWhere').validatebox({required:true});
$('#costMethod').validatebox({required:true}); }else{
$("#showDiv").attr("style", "display:none;"); //隐藏div
//jquery 动态移除属性(已移除,不渲染效果)
//$('#boTable').removeAttr("required");
//easyui 动态移除属性
$('#boTable').combogrid({required:false});
$('#boField').combogrid({required:false});
$('#beginNum').numberbox({required:false});
$('#endNum').numberbox({required:false});
$('#costWhere').validatebox({required:false});
$('#costMethod').validatebox({required:false});
}
}
注意:原先考虑用jquery的动态添加属性和移除属性,但是出现一种情况,debug查看页面是加上属性了,但是界面没有渲染,所以改用easyui的方式
切换界面效果
1)图1

2)图2

参考来源:
http://www.mamicode.com/info-detail-2243131.html
easyui 如何为标签动态追加属性实现渲染效果的更多相关文章
- C# 自定义类动态追加属性
		
利用Dynamic,需要.net4.0以上的支持 var dg = rel.ResultDocuments.FirstOrDefault()["dg"].AsBsonArray.G ...
 - jQuery动态添加li标签并添加属性和绑定事件
		
代码如下: <%@page import="java.util.ArrayList"%> <%@ page language="java" c ...
 - 通过JS动态追加标签,以父评论子评论为例
		
以下代码前后端交互以Django模板语法为例 先来以伪代码来示意用法: HTML部分: JS动态插入部分代码: 运行之后我们来浏览器看检查打印的内容: 看插入前后打印结果我们可以得知 $title[0 ...
 - HTML5  <a>标签的ping属性用法
		
随着移动互联网用户井喷式的增长,web前端开发中的HTML5在近几年备受瞩目,越来越多的人从事html5开发相关工作.今天小编也来凑个热闹,和大家一起来谈谈HTML5中<a>标签的ping ...
 - JAVAWEB开发之JSTL标签库的使用、 自己定义EL函数、自己定义标签(带属性的、带标签体的)
		
JSTL JSTL简单介绍: JSTL的全称:JSP Standard Tag Library,JSP标准标签库 JSTL的作用: 提供给Java Web开发者一个标准通用的标签函数库 和E ...
 - 浅谈 easyui tabs 的href和content属性
		
众所周知,jQuery Easyui 的tabs插件有两种方式加载某个tab(标签页)上的内容:“href远程请求”和“content本地内容”,本文就两种方式的优缺点进行简单分析和思考. 两者特点: ...
 - input标签的hidden属性,四大常用JSTL标签库
		
input标签的hidden属性的应用及作用 定义:传输关于客户端/服务器交互的状态信息. Transmits state information about client/server intera ...
 - HTML <a> 标签的 target 属性
		
HTML <a> 标签的 target 属性 HTML <a> 标签 定义和用法 <a> 标签的 target 属性规定在何处打开链接文档. 如果在一个 <a ...
 - JS组件系列——使用HTML标签的data属性初始化JS组件
		
前言:最近使用bootstrap组件的时候发现一个易用性问题,很多简单的组件初始化都需要在JS里面写很多的初始化代码,比如一个简单的select标签,因为仅仅只是需要从后台获取数据填充到option里 ...
 
随机推荐
- Linux下安装jieba
			
Jieba代码对 Python 2/3 均兼容 * 全自动安装:`easy_install jieba` 或者 `pip install jieba` / `pip3 install jieba` * ...
 - ubuntu12.04下编译Linux tina 2.1/android经验
			
用的是osboxes下的vdi. 编译Linux 1. 不能在root用户下操作 2. 执行 make kernel_menuconfig 报错,需要 apt-get install zlib1g z ...
 - 0006-20180422-自动化第七章-python基础学习笔记
			
内容回顾: - bytes - str 和bytes - int - str - list - tuple - 深拷贝和浅拷贝 今日内容: 数据类型 - bytes - int - str - boo ...
 - catch data
			
抓取一些有反爬机制的website 喜马拉雅 每天都有-动态class 通过网络请求
 - 创建react项目的几种方法
			
前言: 构建React项目的几种方式: 构建:create-react-app 快速脚手架 构建:generator-react-webpack 构建:webpack一步一步构建 1)构建:creat ...
 - Docker Kubernetes 介绍 or 工作原理
			
Kubernetes 介绍 Kubernetes是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernetes也叫K8S. K8S是Google内部一个叫Borg的容 ...
 - JS设计模式(13)状态模式
			
什么是状态模式? 定义:将事物内部的每个状态分别封装成类,内部状态改变会产生不同行为. 主要解决:对象的行为依赖于它的状态(属性),并且可以根据它的状态改变而改变它的相关行为. 何时使用:代码中包含大 ...
 - centos7 jmeter分布式安装
			
step1 环境说明:腾讯云主机--> centos7 1主2从 下面使用内网 IP master节点:10.21.11.6 slave1节点:10.21.11.44 slave2节点:10. ...
 - 谷歌机翻英文字幕输出(Subtitle Edit)
			
Subtitle Edit 下载地址(https://github.com/SubtitleEdit/subtitleedit/releases/tag/3.5.0) 添加字幕文件后,点下图的Auto ...
 - 继上篇后的Excel批量数据导入
			
上篇Excel动态生成模板,此篇将借用此模板进行Excel数据的批量导入. 说明:由于数据库中部分数据储存的是编码或者Id,因此,这里就需要用到上篇中的全局数据,判断是否有数据,有数据直接使用,没有数 ...