首页 新闻 赞助 找找看

多组 checkbox的赋值和取值问题

0
悬赏园豆:100 [已解决问题] 解决于 2012-09-18 13:06

 

现在的问题是 从数据库取出对应的城市的checkbox字段,为IsDisplay,例如IsDisplay的值为12的时候,对应的就显示手机和pad,即8+4。计算的方法已经有了,主要是在循环输出的时候怎么对checkbox赋值,而且在修改checkbox的时候要取值并存入对应城市的IsDisPlay字段,贴部分代码,求教

<s:iterator value="city" id="city" status="ci">

<td width="20%"><s:property value="provDesc"/></td>

<td width="40%">

web:<s:checkbox name="isDisplayID" id="isDisplay1" class="isdisclass" disabled="true"  data="1"></s:checkbox>

wap:<s:checkbox name="isDisplayID" id="isDisplay2" class="isdisclass" disabled="true"  data="2"></s:checkbox>

手机:<s:checkbox name="isDisplayID" id="isDisplay4" class="isdisclass" disabled="true" data="4"></s:checkbox>

pad:<s:checkbox name="isDisplayID" id="isDisplay8" class="isdisclass" disabled="true" data="8"></s:checkbox>

</td>

</s:iterator>

SilverUn的主页 SilverUn | 初学一级 | 园豆:112
提问于:2012-09-14 10:15
< >
分享
最佳答案
0

写判断12是否=8+4的方法:

static Boolean compare(int x, int y)
        {
            int div = 0;

            int mod = 0;
            for (int i = 8; i >= 1; i = i / 2)
            {
                div = x / i;
                mod = x % i;
                if (div > 0)
                {
                    x = mod;
                    if (i == y)
                    {
                        return true;
                    }
                }
            }

            return false;
        }
调用:
Boolean r = compare(12,8);//true
Boolean  r = compare(12,4);//true
Boolean  r = compare(12,1);//false
页面上调用这个方法判断显示是否要选中,很久不搞java,struts标签怎么写忘了。
收获园豆:100
向往-SONG | 老鸟四级 |园豆:4853 | 2012-09-14 12:51

你好,先谢谢你的回答,你写的是根据isDisplay判断checkbox的的check属性,这个计算方法我已经实现了,我的问题是后面的,即:在修改checkbox的值的时候怎么取值并保存到city这个list中。。请看看图片,你会明白我的意思

SilverUn | 园豆:112 (初学一级) | 2012-09-17 11:22

@LongDescription: 

那只能把城市ID也放到checkbox里了:

<input type="cities" name="isDisplayID" value="城市ID_1"/>

后台的取到的cities就是个字符串list,再组装成City的list吧。

向往-SONG | 园豆:4853 (老鸟四级) | 2012-09-17 12:33

@向往-SONG: 你好,我已解决该问题,谢谢你的回答

SilverUn | 园豆:112 (初学一级) | 2012-09-18 13:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册