天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 2022|回复: 9

[已解决] 左右选择框如何根据选项数目动态调整高度?

[复制链接]
上海普兰金融 发表于 2013-10-14 14:19:34 | 显示全部楼层 |阅读模式
本帖最后由 echochen 于 2013-10-15 14:30 编辑

之前看了这个帖子:
左右选择框如何调整高度
http://www.teemlink.com/bbs/viewthread.php?tid=167478&highlight=%D7%F3%D3%D2%D1%A1%D4%F1%BF%F2%2B%B8%DF%B6%C8按这个设置的话,项目中所有用到这个控件的地方的高度就写死了,有些地方多选项就3~5个,有些地方有15~20个,那么如何做到根据选项数目动态调整高度,使得此高度正好适合全部显示选项(既不出现滚动条,又不出现明显的空白区域)?
另外,我看这个控件底层是使用了jQuery的一个UI控件multiselect2side,可否告知MyApps-2.5.sp9.17882用的是这个UI控件的哪个版本?MyApps-2.5.sp9.17882中对这个UI控件源码是否有改动?如果有,改动了哪些地方?
根据官网demo显示,multiselect2side目前最新版本是支持自适应高度的,MyApps后期版本是否可以考虑一下基于这个最新版本强化一下左右选择框的功能啊?
kimi 发表于 2013-10-14 14:33:26 | 显示全部楼层
您好:您的需要稍后想研发咨询看平台是否能实现,有结果后给您答复。
kimi 发表于 2013-10-14 15:31:25 | 显示全部楼层
您好:您参考如下图做修改:
a10.jpg

具体代码:

  1. var a = new Array();
  2. for(i=0;i<2;i++){
  3.         var op_len = $(".ms2side__select").eq(i).find("select").children().length;
  4.         var fontSize = $(".ms2side__select").eq(i).find("select").css("font-size");
  5.         var index_p = fontSize.indexOf("px");
  6.         var h_p = fontSize.substring(0,index_p);
  7.         var sel_H = op_len * (parseInt(h_p) + 4);
  8.         a[i] = sel_H;
  9.         if(i == 1){
  10.                 var H = a[0]>a[1]?a[0]:a[1];
  11.                 $(".ms2side__select").find("select").height(H);
  12.         }
  13. }
复制代码
您先尝试,有问题我们再沟通。
 楼主| 上海普兰金融 发表于 2013-10-14 16:07:06 | 显示全部楼层
本帖最后由 上海普兰金融 于 2013-10-14 16:09 编辑

你好,改动后,如果同一页面有两个以上的左右选择框,第n(n>=2)个出现的高度就和第1个出现的高度一样了,如果这些左右选择框实际需要的高度不同的话,可否改成细化到单个左右选择框控件啊,而不是细化到单个页面啊?
kimi 发表于 2013-10-14 16:14:06 | 显示全部楼层
恩好的,明白您的意思了,稍后这块问下研发,看是否有好的解决方案,有结果后,再给您答复。
kimi 发表于 2013-10-14 16:36:50 | 显示全部楼层
您好:您把刚刚的代码改为如下:

  1. var thisSec = $(this).parent().parent();
  2. var a = new Array();
  3. for(i=0;i<2;i++){
  4.         var op_len = thisSec.find(".ms2side__select").eq(i).find("select").children().length;
  5.         var fontSize = thisSec.find(".ms2side__select").eq(i).find("select").css("font-size");
  6.         var index_p = fontSize.indexOf("px");
  7.         var h_p = fontSize.substring(0,index_p);
  8.         var sel_H = op_len * (parseInt(h_p) + 4);
  9.         a[i] = sel_H;
  10.         if(i == 1){
  11.                 var H = a[0]>a[1]?a[0]:a[1];
  12.                 thisSec.find(".ms2side__select").find("select").height(H);
  13.         }
  14. }
复制代码
具体修改后效果图如下:
a14.jpg
您先尝试,有问题我们再沟通。
 楼主| 上海普兰金融 发表于 2013-10-14 17:52:13 | 显示全部楼层
差不多了,就是当0个选项的时候,中间那列按钮没有垂直居中对齐
特例.bmp
kimi 发表于 2013-10-14 18:19:40 | 显示全部楼层
您好:本地在sp8中测试是居中的,效果图如下:
a16.gif

请问您是使用什么版本、浏览器和皮肤呢?
 楼主| 上海普兰金融 发表于 2013-10-15 14:29:13 | 显示全部楼层
你好,使用的是MyApps-2.5.sp9.17882的产品,浏览器IE8的,皮肤是默认皮肤,今天下午本地页面看下来没有上述对齐问题了,问题可以关闭了,谢谢支持!
echochen 发表于 2013-10-15 14:30:07 | 显示全部楼层
嗯,本帖关闭、

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-13 03:47

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表