js獲取datagrid行,但是行改變了腫麼辦?

這個任務原先以爲挺簡單的,就是當點擊datagrid中的行,就將這行的id插入到text文本框中。但是問題是一個一個接踵而來,讓我措手不及啊。

question1:界面是由兩個datagrid組成,點擊sys表之後根據sys的id來查找tab表,就是說tab是可以一直跟着選擇的sys變化的。而我單擊行事件時它的參數是此列表的行,而不是這條記錄的id,所有id=tab的datagrid是一直變化,當我換了一個sys時,text中原先選擇的內容就被清空了····

question2:每次點擊行時,就會將id放入到text中,但是已經選擇過的id點擊之後還是會在上面,這明顯不符合正常行爲啊···

question3:爲了改變question2的問題給行又加了一個Unselect事件,再次點擊它時就給他取消掉,而取消又要幹嘛呢,把這次點擊的id給他換掉,換成什麼腫麼換,這是個問題···

question4:那麼多的id我總不能擠在一起,老虎老鼠傻傻分不清楚的,所以要給一個id後面加個",",讓大家和平相處,驗證的時候也方便嘛,可是我要是驗證的時候只管/id+”,“/的話就會產生另一個錯誤,比如裏面有3和53,驗證的時候他就有問題啦,可是在前面加了”,“的 話別的又有問題···

我只能一步一步的算計啊,走邏輯啊,反正是一步一步的改過來了,不知道還有沒有別的錯誤,只能說我已經盡力了······


js——code

  $(document).ready( function(){ 

      $('#sys').datagrid({ onClickRow:

               function (rowIndex, d) {

              var sys_code = d.sys_code;

                  $('#tab').datagrid({queryParams:{sys_code:sys_code},method:'post'});

                  }

           });

   

    $('#sys').datagrid({ onSelect:

           function (rowIndex, d) {

      var yq =  $('#tabId').val();

      $('#tab').datagrid({

    onSelect:function (rowIndex, d) {

      var oh = "," + d.tbl_id +",";

      var oq = d.tbl_id +",";

      var or = eval("/^"+oq+"/");

      var ot = or.test(yq);

         if(ot == true){

        yq=yq;

         }

         else{

        var x = yq.replace(oh,",");

          var b = d.tbl_id +",";

          if(x==yq){

         yq = yq + b ;

           }

          else{

        yq=yq;

           }

         }

      

        $('#tabId').val(yq)

        },

         onUnselect:function(rowIndex,d){

         var uq = d.tbl_id+",";

         var ur = eval("/^"+uq+"/");

         var ut = ur.test(yq);

         if(ut == true){

        yq = yq.replace(uq,""); 

         }

         else{

        var x =","+ d.tbl_id+",";

        yq = yq.replace(x,","); 

         }

         $('#tabId').val(yq);

         }

              });

              }

           });

    });



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章