浏览:4592007-12-04 11:36   来自黄友涛      :

一个checkboxlist控件,,有两个item,一个value为1,一个为2
我现在要判断的是当两个都选中的时候的情况。
现在的问题是当我两个都选中的时候,会进入判断1为选中的那个if里去  ,相关代码如下,各位高人帮忙看看是哪出了问题

if(chb.SelectedValue=="1" && chb.SelectedValue=="2")
 {

}

 else if(chb.SelectedValue=="1")
    {

}

 else if(chb.SelectedValue=="2")
    {

}

楼主
  8个月前   斧头帮少帮主      :
JS脚本中,属性SelectedValue只能找到checkboxlist【第一个选中项】,即使你选中了两个甚至n个.其它类似的属性(selectedItem)也同理.
所以你要遍历checkboxlist的每个item,判断其状态是否被选中.进而执行你的logic.

你的代码是*.cs的吧,我估计99%同理,你自己证明吧!
回复  1楼 回到顶楼 
  8个月前   Dove.Net      :
checkboxlist多选时SelectedValue只能保存一个值(应该是第一个值,楼主可以自己求证下),要实现判断多项是否被选用foreach循环CheckBoxList
回复  2楼 回到顶楼 
  8个月前   Anders Cui      :
chb.SelectedValue=="1"和chb.SelectedValue=="2"不可能同时成立
要逐一判断
回复  3楼 回到顶楼 
  8个月前   LikeCode      :
不可以这么用的.
要象这样么
if (CheckBoxList1.Items[0].Selected && CheckBoxList1.Items[1].Selected) // 两项都选中的状态
{}
else if (CheckBoxList1.Items[0].Selected)
{}
else if (CheckBoxList1.Items[1].Selected)
T{}
//通过项索引才行.
回复  4楼 回到顶楼 
  8个月前   黄友涛      :
4楼的答案是正确的。
回复  5楼 回到顶楼 
  8个月前   暗香浮动      :
可以请求这个控件名称
if(Request.Form["controlname"]=="1,2")
{

}
来解决
回复  6楼 回到顶楼 
  8个月前   AndyYard      :
ECMAScript对&&的实现是“短路实现”
回复  7楼 回到顶楼 
  8个月前   Hafeyang      :
这个问题很简单
在调试的时候在if哪设个断点
输出 chb.SelectedValue
//From Msdn
此属性返回选定的 ListItem 的 Value 属性。通常使用 SelectedValue 属性确定列表控件中选定项的值。如果选定了多个项,则返回索引最小的选定项的值。如果未选定任何项,则返回一个空字符串 ("")。
回复  8楼 回到顶楼 

你还不是小组成员,加入小组以后才能发布新主题!
1 24343