当前位置: 代码迷 >> C# >> asp.net 按钮点击解决方法
  详细解决方案

asp.net 按钮点击解决方法

热度:27   发布时间:2016-05-05 03:29:38.0
asp.net 按钮点击
asp.net我有很多个按钮 都是客户端控件 这些按钮都绑定了同一个方法 我在方法里面写了一个
if ($("#a").click(function () {}))
{
$("#a").attr("disabled", "true");
}
点a按钮的时候就执行这个方法 但是我发现如果点击c按钮 那么这个a按钮就被禁用了 为什么? 用jquery 或者js 解决都可以
------解决思路----------------------
引用:
$("#a,#b,#c").click(function () {{
$(this).attr("disabled", "true");
}
  这个写法就可以
------解决思路----------------------
感觉楼主说的或混乱,可以这么写:
所有botton用一个class,如 btntest,写

$(function(){
    $('.btntest').click(function(){
        if($(this).attr('id') == 'a'){
            $(this).attr("disabled", "true");
        }
    });
});

如果你所有的按钮在页面或者div里没有重复的话,直接写元素类型也可以

------解决思路----------------------
当你写
 if(x)
{
    y;
}

的时候,就是在判断x是否已经被定义,如果已经定义则执行y;如果x没有被定义,那么就不执行y。

因此如果你在你的代码中设置断点然后调试执行,例如你会发现,这条代码永远都会在页面加载时“必然地”执行,原因就是 
$("#a").click(function () {})
这个表达式永远都会返回一个对象,所以if条件判断永远都成立。
------解决思路----------------------
引用:
感觉楼主说的或混乱,可以这么写:
所有botton用一个class,如 btntest,写

$(function(){
    $('.btntest').click(function(){
        if($(this).attr('id') == 'a'){
            $(this).attr("disabled", "true");
        }
    });
});

如果你所有的按钮在页面或者div里没有重复的话,直接写元素类型也可以


嗯,lz可能就是这个意思,只是对javascript的if语句的理解有误。

但是这样写肯定也是不对的。可以简单地调试一下看看:

可以看到,代码this实际上是window,而另一个写法这里的 this才是指向了”其它按钮“。



引用:
 function addNewRow(index) {
            // $("#btnAddAlarm").bind("click", bjpz)
            $(document).ready(function () {
                   $("#btnAddAlarm").click(function () {
                       $(this).attr("disabled", "true")
                       alert('执行完毕');
                })
            })

            //$("#btnAddAlarm,#Button3,#Button4,#Button6").click(function () { 
            //    $(this).attr("disabled", "true");   
            //})
                var mg = getManager(index);
                mg.addEditRow();


好奇怪第一次点击 不执行    第二次点击那个执行完毕  弹出来两次!
            

你自己设置2、3个断点然后使用vs开发工具来单步跟中调试一下,就知道为什么了。

从你贴出的这个代码可以看出,你不太容易沉下心来理解原理,而是把时间都用来进行各种”瞎试代码“。编程应该会(随便找个纸和笔来)画流程图,并且会用调试器,而你两种必要的技能都不会,仅仅会把别人的代码任意地贴过来运行,这样做毫无程序设计效率,会浪费许多人的时间和生命。
  相关解决方案