如何存储动态按钮文本

时间:2012-10-31 16:29:40

标签: jquery asp.net

我有下面的代码,我想得到服务器端的动态创建按钮的文本,然而点击第二次按钮,按钮被禁用,我不想拥有其文本属性。

这是我用循环

创建动态按钮的代码
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');
            });
        });      

1 个答案:

答案 0 :(得分: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


              }




             }

       });
   });      ​