簡體   English   中英

如何增加 jquery 中的變量值?

[英]How to increment variable value in jquery?

我正在嘗試增加id值和td元素。

當我試圖通過創建一個簡單的按鈕來增加一個值時,它不起作用,但是當我為我的代碼實現解決方案時,它永遠不會起作用。 不確定嵌套的onclick是否影響流量

          $(document).ready(function(){ 
          $('#coursenumber').change(function() {
                
            //alert($(this).val());
            var credit = $(this).val().split('|');
            var data = {};
            data.action = 'getcredits';
            data.strm = credit[0];
            data.sessioncode = credit[1];
            data.subject = credit[2];
            data.coursenumber = credit[3];
            
            $("#strm").attr('value', data.strm);
            $("#session_code").attr('value', data.sessioncode);
            $("#subjectss").attr('value', data.subject);
            $("#course_numbers").attr('value', data.coursenumber);


            
            //add values to hidden input tags
            
            
            //alert(JSON.stringify(data));
            

                $.ajax({
                    dataType: 'json',
                    url: '../excesscreditautomation/ajaxxx.do',
                    method: 'POST',
                    data: $.param(data),
                    success: function (response){
                        
                        //$('#ajaxGetUserServletResponse').text(response);
                        //displayCourses(response);,
                       console.log(response); 
                      displayCredits(response);
                      
                      //add button function
                      //onclick function pass the values to html
                      $(document).on('click','#add-course', function (){
                         
    
                       $("#coursenumberTab").hide();
                       $("#subjectTab").hide();
                       $("#mycreditsTab").hide();
                       
                       $("#strm").empty();
                       $("#session_code").empty();
                       $("#subject").empty();
                       $("#coursenumber").empty();
                       $("#mycredits").empty();
                       
                       
                          
                          
                          var myOption = 1; 
                            

                            
                          
                          for (var i = 0; i < response.course.length; i++) {
                              console.log(response.course.length);
                              $('#table-2 > tbody:last-child')
                                      .append('<tr id="optionid' + ++myOption + '">' + 
                                        '<td>'+ ++myOption + '</td> ' + 
                                        '<td>' + response.course[i].strm + '</td> ' + 
                                        '<td>' + response.course[i].subject + '</td> ' + 
                                        '<td>' + response.course[i].coursenumber + '</td>  ' + 
                                        '<td>' + response.course[i].credits + '</td> ' + 
                                        '<td><a href="#">Delete</a></td> ' + 
                                    '</tr>' );
                            
                           
                          }
                          
                         

                          
                      });
                                                      

                            
                        
                        
                    },error: function(){
                            alert('failure');
                        }
                });
                
                
            });//end #credit

          });

因此, myOption永遠不會更改/增加值。

另一個問題是,當我第二次嘗試add-course時,它會添加兩次td 換句話說,它是在復制課程。 第一次運行查詢時,它會添加td一次。

更新:請注意,每次按下添加課程按鈕時,循環僅返回 1 個結果。 所以,我需要數字myOption留在那里。 例如,如果我按下 add-course 按鈕,第一個 myOption 應該是 1..然后我想添加一個新課程,所以我再次按下 add-course 按鈕,現在 id 應該說 myOption2 等等..就像創建一個 LIKE 按鈕,每次按下該按鈕時數字都會增加。

現在 append tr只是在我每次按add-course時添加相同的 ID 號

  1. 你可以試試這個。 我已經在 tr 中添加了一個 class 以便我們可以獲得已經存在的 tr 計數並將其加 1 以用於下一課程。
 var myOption = $('.trRow').length + 1; for (var i = 0; i < response.course.length; i++) { console.log(response.course.length); $('#table-2 > tbody:last-child').append('<tr class="trRow" id="optionid' + (myOption++) + '">' + '<td>' + (myOption++) + '</td> ' + '<td>' + response.course[i].strm + '</td> ' + '<td>' + response.course[i].subject + '</td> ' + '<td>' + response.course[i].coursenumber + '</td> ' + '<td>' + response.course[i].credits + '</td> ' + '<td><a href="#">Delete</a></td> ' + '</tr>'); }
  1. 您還可以全局聲明 count 變量並使用它,而不是在每次單擊按鈕時將其值重新初始化為 0。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM