2012-10-31 40 views
0

我有下面的代码,我想获得服务器端的动态创建的按钮的文本,然后点击按钮,但按钮的第二次点击,按钮被禁用,我不想要其文本属性。如何存储动态按钮文本

这是我如何创建具有循环

for (int i = 0; i < numberofplants; i++) 
    { 
     builderchart.Append("<th class=style8>"); 
     builderchart.Append("<input type='button' id='btn" + i.ToString() + "' value='" + dtplants.Rows[i][0] + "' style='width:55px;' class='inputbutton'>"); 
         builderchart.Append("</th>"); 
    } 

    .is-highlighted { 
    background-color:#6FA478; 

     $(function() { 
      $('input[type=button]').on('click', function (e) { 
       e.preventDefault(); 
       $(this).toggleClass('is-highlighted'); 
      }); 
     });  
+0

你的意思是在同一按钮上的第二次点击,它禁用?代码中的哪个位置禁用了按钮?或者你的意思是你想要一个单独的按钮来发布带有“.is-highlight”值列表的表单? – RemarkLima

+0

我不会禁用我只是删除Css属性与toggleclass,所以这意味着用户不希望该按钮信息显示在图表中,因为第一次单击该按钮的背景更改为绿色,因此这意味着它被选中,但在第二次单击按钮可视化更改为其默认配置文件,因此这意味着它未被选中 –

回答

0

动态按钮,如果你只是想按钮被激活的第一次点击,使用jQuery的方法one的代码。

$(function() { 
     $('input[type=button]').one('click', function (e) { 
      e.preventDefault(); 
      $(this).toggleClass('is-highlighted'); 
     }); 
    });  

//编辑

如果你正在寻找去除第二点击“文字”,或添加新的文本:

  $(function() { 

      var count = 1; 

      $('input[type=button]').on('click', function (e) { 

       e.preventDefault(); 

        count +=1; 

        if(count % 2 === 0){ 

         $(this).prop('value', 'New Text') 
           .css('background-color', 'green'); 


       } else { 

        // Do Something else 

       } 
      }); 
     });  

我不知道到底是什么你想要实现,但使用上述方法,您可以跟踪“点击次数”,然后根据计数应用一些操作。

//编辑02 - 粗糙,但应该工作

 $(function() { 


     var 
     count = 1, 
     text; 


     $('input[type=button]').on('click', function (e) { 

     e.preventDefault(); 

      count+=1; 

      if(count % 2 === 0){ 

       text = $(this).val(); 

       $(this).prop('value', 'New Text') 
         .css('background-color', 'green'); 

       $.post('some.php', { value: text }, function(data){ 

       // Do Something 

       } 


      } else { 

       text = $(this).val();  

       $(this).prop('value', 'default') 
         .css('background-color', ''); 


       $.post('some.php', { value: text }, function(data){ 

        // Do Something else 


       } 




      } 

     }); 
    });  ​ 
+0

我想根据单击的按钮(文本信息)绘制图表并将此文本信息发送到SQL存储过程,但用户可以选择具有第一次点击的按钮,但随后也许改变主意,然后点击按钮不要选择它(删除与背景绿色的CSS),我想有这些选定的按钮文本信息,并存储在数据表或其他 –

+0

仍然不是100%确定你是什么试图实现,但你应该可以使用jQuery'Post'检查编辑02 –

+0

我仍然不能解决问题如何获得按钮的值(文本)并将其发送到SQL存储过程。任何人都可以帮助我? –