2010-10-26 134 views
2

1納加naga123如何從複選框獲取id值?

2泰米爾tamil123

3維諾德vinod123

4納溫naveen123

5 jakkir jakkir123

save edit delete 

UserID: 

UserName: 

Password: 

我在每一行的結束複選框。當我單擊複選框並選擇編輯時,值應顯示在對應於userId,userName &密碼的文本框中。

我的js爲編輯代碼是

 function Edit(){ 
    var i=dwr.util.getValue("userId"); 
    LoginManagement.selectId(i,function(login){ 
    dwr.util.setValues({userId:userId, userName:login.userName, 
    passWord:login.passWord});  
    }); 
    } 

我的js的複選框代碼是

  function Intialize(){ 
     LoginManagement.getLoginDetails(function(loginList){ 
     var x = ""; 
     for(var i=0; i<loginList.length; i++){ 
      var login =loginList[i]; 
      x += "<tr><td>"+login.userId+"</td><td>"+login.userName+"</td><td>"+login.passWord+"</td><td><input type = 'checkbox' id = 'cbid"+login.userId+"'</td></tr>"; 
     } 
     $("#loginTable").html(x); 

      }); 
       } 

我應該如何在編輯得到id的值,這樣,如果我按一下按鈕就應該顯示值相應。有什麼建議嗎?

回答

1

希望我正確理解你。從編輯環節的onclick

刪除編輯(),然後繼續初始化函數如下:

... 

     $("#loginTable").html(x); 

     ids = ['userId', 'userName', 'Password']; // Ids of text boxes to be populated 

     $("#editlink").click(function(){ // Assuming edit link has id="editlink" 
     var tds = $("#loginTable").find("input:checked[type=checkbox]").parent().siblings(); 
     for(var i = 0; i < ids.length; i++){ 
      $('#' + ids[i]).html($(tds[i]).html()); 
     } 
     Edit(); // Better copy the code of Edit() directly in here 
     return false; // Prevent default click action (go to href) 
     }); 

    }); 

如果這是錯誤的,請在發佈完整的HTML也是如此。

+0

@sunnO如果我點擊編輯按鈕,函數應該會觸發。我得到的ID值使用 var id = $('input [type = checkbox]:checked')。attr('id'); var userId = id.substring(4); – 2010-10-26 13:53:06

+0

它設置值,但它現在自動重新加載。我現在正在嘲笑 – 2010-10-26 13:54:19

+0

如果你沒有從onclick屬性中刪除Edit(),它會觸發兩次。已更新以防止重新加載,並看到Edit處於單擊事件處理程序之外,因此您現在可以真正將其從onclick中刪除。 – sunn0 2010-10-27 09:27:31

1

可以通過使用attr var idvalue = $("input:last").attr("id");來檢索id,但是您必須獲取對場景中複選框的引用。如果您有與之關聯的css類名,請使用類似於$(.classname)的命令,然後使用attr來獲得價值。