2011-06-22 51 views
1

我可以動態傳遞按鈕ID嗎?如何在jquery焦點事件中動態傳遞id?

$('#Button1').focus(function() { 
     if (document.getElementById('HiddenVal').value != null && document.getElementById('HiddenVal').value != '') { 
      $('#txtbox1').val(document.getElementById('HiddenVal').value); 
      $('#Button1', window.parent.document).css("background-color", "#fcc63b"); 
      document.getElementById('HiddenVal').value = ''; 
     } 
    }); 

這裏我想動態地傳遞按鈕ID而不是使用$('#Button1')

我可以使用它嗎?

+0

取決於你想要做什麼。你可以添加更多的細節?另外,如果您使用jquery,則不需要使用document.getElementById。您可以使用簡寫jQuery方法 – JohnP

+0

ya它基本上取決於您想從哪裏獲取按鈕,如果您不想直接使用字符串值,則可以將button1分配給變量名稱。 – melaos

回答

1

是的,你可以 - 將一個函數內部代碼...並通過ID作爲參數到這個功能 - 像這樣..

function dynamicId(id){ 

     newId = '#'+id 
     $(newId).focus(function() { 

     ... 
     ... 
     }); 
} 
+0

Vivek你能詳細解釋這段代碼嗎? – Saloni

+0

@薩洛尼 - 看到更新的答案,如果你還不清楚它讓我知道。 – Vivek

+0

以及如何調用此函數?它是在按鈕的onfocus事件? – Saloni

0

好像你的代碼可以寫成:

$('#Button1').focus(function() { 
     var hiddenValue = $('#HiddenVal').val(); 
     if (hiddenValue != null && hiddenValue != '') { 
      $('#txtbox1').val($(hiddenValue); 
      $(this).css("background-color", "#fcc63b"); 
      $('#HiddenVal').val(''); 
     } 
    }); 

問候,

最大

+0

如何使用$(this).css(「background-color」,「#fcc63b」); ,如果op希望父窗口元素作爲選擇器。 – Vivek

+0

我想這個按鈕ID應該是動態通過,而不是傳遞ID本身,因爲我想在js文件中放置代碼並調用該文件 – Saloni

+0

抱歉,我沒有抓住你想要的。由於Vivek的回答,這很好:) – JMax