急,求思路,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;
}
}
}
------解决方案--------------------
------解决方案--------------------