基于 Paraview 扩展与实现——(5)

Checkbox类:

1.实现checkbox的全选功能

<script type="text/javascript">
//全选checkbox:1、当全选checkbox勾选,子checkbox(name为'ids'的checkbox)自动全部勾选
//		2、当全选checkbox取消勾选,子checkbox自动全部取消勾选
function  checkAll(){
      if($("#checkall")[0].checked){
    	  $("input[type='checkbox'][name='ids']").attr("checked","checked");
      }else{
    	  $("input[type='checkbox'][name='ids']").attr("checked",null);
      }
}
//子checkbox:1、当所有子checkbox全部勾选时,全选checkbox自动勾选
//2、当有一个子checkbox没有勾选时,全选checkbox自动改为未勾选
function changeCheckCount(){
       var count=0;
	   $("input[type='checkbox'][name='ids']").each(function(index,data){
            if(this.checked){
            	count++;
            }
	   });
       if(count== $("input[type='checkbox'][name='ids']").length){
    	   $("#checkall").attr("checked","checked");
       }else{
    	   $("#checkall").attr("checked",null);
       }
}
</script>
<td><!-- 全选checkbox -->
	<s:checkbox name="checkall" id="checkall" value="" cssClass="checkbox" onclick="checkAll()"/>
</td>
<td><!-- 子checkbox -->
   <s:checkbox name="ids"  fieldValue="" cssClass="checkbox" onclick="changeCheckCount()"/>
   <s:checkbox name="ids"  fieldValue="" cssClass="checkbox" onclick="changeCheckCount()"/>
   <s:checkbox name="ids"  fieldValue="" cssClass="checkbox" onclick="changeCheckCount()"/>
   <s:checkbox name="ids"  fieldValue="" cssClass="checkbox" onclick="changeCheckCount()"/>
</td>

2.获取checkbox被选中的个数,并将checkbox的值组织成字符串

<script type="text/javascript">
//1、获取checkbox选中的个数:count
//2、将选中的checkbox的值(此例子为id)组织成"id,id,id,..."类型的字符串,方便action获取:ids
function checkbox(){
    var count=0;
    var ids="";
    $("input[type='checkbox'][name='ids']").each(function(index,data){
       if(this.checked){
          count++;
          if(count==1){
              ids=$(this).val();
          }else{
              ids=ids+","+$(this).val();
          }
       }
   });
}

</script> 
<td>
   <s:checkbox name="ids"  fieldValue="" cssClass="checkbox"  />
   <s:checkbox name="ids"  fieldValue="" cssClass="checkbox" "/>
   <s:checkbox name="ids"  fieldValue="" cssClass="checkbox" "/>
   <s:checkbox name="ids"  fieldValue="" cssClass="checkbox" "/>
</td>

Select类

1.jQuery实现下拉列表的联动,实现省份和城市的关联

<script type="text/javascript">
//实现省份和城市的二级联动
/*
jQuery.post( url, [data], [callback], [type] ) :使用POST方式来进行异步请求,[]为可选属性,此例子选了[data],[callback]
参数:
url (String) : 发送请求的URL地址.
data (Map) : (可选) 要发送给服务器的数据,以 Key/value 的键值对形式表示。
callback (Function) : (可选) 载入成功时回调函数(只有当Response的返回状态是success才是调用该方法)。
type (String) : (可选)官方的说明是:Type of data to be sent。其实应该为客户端请求的类型(JSON,XML,等等)
*/
function showCity(value){
	//通过action里的showCity函数实现通过省份名字获取对应省份下的城市列表,并返回相应的数据
	//{name:value}:value为省份下拉列表传过来的省份名字
    $.post("${pageContext.request.contextPath}/company_showCity.action",{name:value} ,function(data,textStatuts){
            //alert(data);
            var dataObj=eval("("+data+")");
            //alert(dataObj);

            //先删除之前一次加载的城市
            $("select[name='city'] option[value!='']").remove();

            //将城市封装成option后加到select里,格式如下
            // <select name="city" style="width:90%">
                //<option value="">--------</option>
            //</select>
            for(var i=0;i<dataObj.length;i++){
                  var $option=$("<option></option>");
                  $option.attr("value",dataObj[i].name);
                  $option.text(dataObj[i].name);
                  $("select[name='city']").append($option);
            }
     });
}
</script>
<tr>
	<td>省份:</td>
	<td>
        <s:select list="#provinceList" name="province" id="province"
                listKey="name" listValue="name"
                headerKey="" headerValue="--------"
                cssStyle="width:90%" onchange="showCity(this.value)">
        </s:select>
	</td>
	<td>城市:</td>
	<td>
	    <s:select list="{}" name="city" id="city"
	               headerKey="" headerValue="--------" cssStyle="width:90%" >
	    </s:select>
	</td>
</tr>

company.action中的showCity函数

/**	通过省份显示对应城市
 * @throws IOException **/
public String showCity() throws IOException{
	//拿到jsp中省份的名字
	String name=request.getParameter("name");
	if(StringUtils.isNotBlank(name)){
		//通过省份名字拿到对应省份实体(下面查询城市时,用来拿省份id)
		Province province=provinceService.findProvinceByName(name);
		//通过省份id查询该省份下的所有城市
		List<City> cityList=cityService.findCityByPid(province.getId());

		//New一个JsonConfig
		JsonConfig config=new JsonConfig();
		//设置不要获取的属性列,只取city表里的name属性,根据自己定义的city表进行定义,
		config.setExcludes(new String[]{"id","pycode","pid","postcode","areacode"});
		//将List转换为jsonArray
		JSONArray jsonArray=JSONArray.fromObject(cityList,config);
		response.setCharacterEncoding("utf-8");
		//将jsonArray转成字符串后发送给jsp页面
		response.getWriter().print(jsonArray.toString());
	}
	return null;
}

基于 Paraview 扩展与实现——(5),布布扣,bubuko.com

时间: 2024-08-25 06:50:26

基于 Paraview 扩展与实现——(5)的相关文章

基于 Paraview 扩展与实现——(2)

Paraview程序的架构 Paraview 支持多种数据格式和显示方式,目前包括网格绘制,面绘制,体绘制等方法.若要扩展 Paraview 的功能,必须了解其绘制的固定流水线,并且必须要编写符合 Paraview 接口规范的代码. 可视化包含三个基本的步骤:数据读取,数据过滤和数据渲染.首先,数据需要被读取到可视化应用程序 ParaView 中:接着,根据分析需要选择若干种过滤器来处理这些数据以获得具有某种特定形式的子数据集数据特征.最后,在用户窗口界面中,将这些数据特征以一种形象的和直观的图

基于 Paraview 扩展与实现——(3)

一.起因 最近在玩Boost库.当然首先是要进行Booist库的安装和配置.于是浅墨Google了一下boost库的安装配置攻略,下载了最新版1.55的boost库,就愉悦地开始进行配置了. 当进行到第五步,要在VS命令提示符中运行bootstrap.bat的时候,问题就来了,按着攻略打开Visual Studio2010命令提示符,就迎面报错: "Setting environment for using MicrosoftVisual Studio. 此时不应有\Mirosoft"

基于 Paraview 扩展与实现——(6)

2.1 图形模型 VTK的图形模型和实现类 VTK的图形模型,主要有以下几个核心类组成: 1)渲染交互器:实现用户和渲染窗口之间的交互操作. 2)渲染窗口(RenderW indow):实现类为 vtk RenderW indow. 3)渲染器( Render ):实现类为 vtkRe nder. 4)灯光(Light):实现类为 vtkLight . 5)相机(Ca mera):实现类为 vtkCamera . 6)角色( Ac tor):实现类为 vtkActor. 7)属性(Propert

基于PHP扩展一种处理Emoji方法的类库介绍【Carmela】

Carmela介绍 Carmela提供基于PHP,PHP扩展,JAVA,C++等语言的一套处理4四节UTF-8解决方案,比如常见Emoji标签支持 背景: UTF-8格式含有Emoji表情字符串直接插入数据库,如果数据库未做调整会提示报错,通过更改数据库和表的字符集为utf8mb4_general_ci,可以避免这种问题.但是,在很多大型系统和架构中,修改数据库的字符集可能会引发很多的问题,比如PC端展示,新老数据兼容问题.针对这类问题,还有另外一种解决方案,入库前替换,出库后根据客户端类型做反

【设计模式+原型理解】第二章:基于构造函数扩展出来的原型模式

在第一章的时候,说过了单例模式.工厂模式.构造函数模式,你还记得构造模式是怎么样的吗? function CreateJsPerson(name, age) { this.name = name; this.age = age; this.writeJs = function() { console.log("my name is " + this.name + ", i can write js."); } } var p1 = new CreateJsPerso

开源代码生成器,基于mybatis-generator扩展,结合freemarker

git源码地址:https://github.com/JonSnow592622272/free-generator-code 码云gitee源码地址:https://gitee.com/a592622272/free-generator-code(只从git同步过来) 1:什么是free-generator-code. free-generator-code是一个基于mybatis-generator扩展并结合freemarker的代码生成器. 2:为什么使用free-generator-co

基于android-uitableview扩展-uilistview项目

这个项目是正如标题说的那样,是基于uitableview项目为基础进行二次封装的,目的是实现更多的展现形式,项目地址:点击打开 不过,这个使用起来你还必须得会用uitableview扩展(项目地址:点击打开),如果这个你会了那么基本上该项目就是在标签内加入一些项目定义的属性,比如: <com.shelwee.uilistview.ui.UiListView android:id="@+id/uilist3" android:layout_width="match_par

【EXCEL终极总结分享】基于NPOI扩展封装的简易操作工具类库(简单灵活易用,支持导出、导入、上传等常见操作)

对于EXCEL的导入.导出,我之前已分享过多次,比如: 第一种方案:<我写的一个ExcelHelper通用类,可用于读取或生成数据>这个主要是利用把EXCEL当成一个DB来进行获取数据,导出则是采用拼接成HTML TABLE的方式,这种在ASP.NET,ASP.NET CORE 中也是可以的,简单方便,依赖Office Excel组件,仅适用于网站服务端. 推荐指数:♥♥♥ 第二种方案:<MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult&g

基于jquery扩展漂亮的下拉框——ComboBox

关于web前端自定义控件——ComboBox(下拉框),以往我在使用下拉框控件老是为了样式丑陋而烦恼,现在分享这个控件,希望有用的同仁们可以收藏,或进行二次修改,达到你想要的效果. 分解自定义下拉框: 1.创建构造函数,初始化赋值控件值. 2.绑定控件呈现在前台. 3.点击下拉框控件,展示下拉列表 4.点击触发下拉框控件,收起下拉列表. 5.点击下拉项触发事件. 代码如下: Html代码: 1 <b class="select_type"></b> css样式: