日期:2014-05-17  浏览次数:20435 次

急,求思路,CheckBox问题
例如:现我用GridView显示10条数据,每条数据前面都有一个CheckBox,GridView上面有一个按钮,是否主人列用CheckBox显示,功能是实现多条语句同时修改,数据如下:
全选 庄园编号 人物名字 是否主人
  1001 张三  
  1001 李四  
  1001 李五  
  1001 赵六
  1001 赵七 √
  1001 王八
  1001 王九
  1001 刘二
  1001 刘求
  1001 李是

业务:1001号庄园可以没有且有只能有1个主人
问题:我现在想把赵七取消主人身份,把李四设为主人,反正要防止同时设2人物为主人,说白了就是要修改的数据里,有一条是主人,现在要取消,而其它的数据修改成主人并要防止出现修改出2个主人,要想修改数据必须把数据最前面的CheckBox选中再点击保存按钮,这种情况怎么做?求具体的思路,一步一步的说出来,求大神,大牛,谢谢各位了。。

------解决方案--------------------
CheckBox的那个事件里,先循环将所有CheckBox取消选择,再把当前的CheckBox(sender as CheckBox)选中即可。
------解决方案--------------------
保证只有一个CheckBox被选中,1楼给出了做法思路。
------解决方案--------------------

最后点击修改按钮的时候foreach遍历一下是不是只有一个选中的
------解决方案--------------------
CheckBox的那个事件里,先循环将所有CheckBox取消选择,再把当前的CheckBox(sender as CheckBox)选中,再加上判断即可!
------解决方案--------------------
如果checkbox是html控件,用javascript做好了
<script type="text/javascript">
function Check() {
var selectedCheckBox = event.srcElement;
var checkBoxes = document.getElementsByTagName("input");
for (var i = 0; i < checkBoxes.length; i++) {
if (checkBoxes[i].type == "checkbox") {
checkBoxes[i].checked = false;
}
}
selectedCheckBox.checked = true;

}
</script>
------解决方案--------------------
如果checkbox是html控件,可以用js做
<script type="text/javascript">
function Check() {
var selectedCheckBox = event.srcElement;
var checkBoxes = document.getElementsByTagName("input");
for (var i = 0; i < checkBoxes.length; i++) {
if (checkBoxes[i].type == "checkbox") {
checkBoxes[i].checked = false;
}
}
selectedCheckBox.checked = true;

}
</script>
------解决方案--------------------
如果这一页的住户数据都是一栋房子的,那用radio就搞定了
如果这一页的住户数据不是一栋房子的,用checkbox还需要判断是不是同一个住户
------解决方案--------------------
按照1楼的思路,以庄园为组。可以实现每个庄园可以没有且有只能有1个主人

------解决方案--------------------
刚好手头有jquery写的一个类似的判断,给你参考一下。每个checkbox的click的时候绑定下面的函数就可以了。
JScript code

function checkValidate(value){
var objMessageType = $("input[name='messageType']");
            objMessageType.each(function () {
                if ($(this).attr("value") != value) {
                    if($(this).attr("checked"))
                      {
                         $(this).attr("checked")=false;
                      }
                }
}

------解决方案--------------------
探讨

刚好手头有jquery写的一个类似的判断,给你参考一下。每个checkbox的click的时候绑定下面的函数就可以了。
JScript code

function checkValidate(value){
var objMessageType = $("input[name='messageType']");
objMessageType.each(functio……

------解决方案--------------------