2013-04-10 99 views
1

我在onclick事件期間對圖像有javascript調用。使用jquery動態更改「onclick」調用

onclick="removeFeetype(5);" 

我需要使用jQuery的屬性ID一些其他的通話過程中改變,要onclick="removeFeetype(4);。 這意味着我需要將功能調用從5更改爲4.

請我需要您的幫助。提前致謝。

我試着用下面的代碼來改變「onclick」調用方法。但它沒有改變我的html代碼的ID爲「removeButton」的特定元素。

------------------------ FIRST --------------------- ----------

var changeval = 4; 
var onclickval = "removeFeetype("+changeval+");"; 
$('#removeButton').attr("onclick", onclickval); 

------------------------ SECOND ----- ------------------------------------

var changeval = 4; 
var next = "removeFeetype(" + changeval + ");"; 
var newclick_next = eval("(function(){"+next+"});"); 
$('#removeButton').attr('onclick','').unbind().click(newclick_next); 

其實我的任務是,

我對行序列與ID

id="removeButton1" onclick="removeFeetype(1);" 
id="removeButton2" onclick="removeFeetype(2);" 
id="removeButton3" onclick="removeFeetype(3);" 
id="removeButton4" onclick="removeFeetype(4);" 

.....

如果我使用函數removeFeetype刪除removeButton2(2)。

然後我需要剩餘

ID = removeButton3 to removeButton2 and so on and 
ONCLICK = removeFeetype(3) to removeFeetype(2) and so on 

改變我能改變的ID removeButton3到removeButton2等。

但我不能更改onclick方法調用「removeFeetype(3);」到「removeFeetype(2);」

希望現在很清楚。請幫我解決它。

+0

請發佈您到目前爲止嘗試過的代碼。 – ahren 2013-04-10 10:17:44

+0

爲什麼不保持功能相同,而是根據情況更改輸入參數? – Harish 2013-04-10 10:20:08

+0

你可能使用'$('link_element_id')來更好地綁定它(click)(function(){// code here})' – 2013-04-10 10:20:14

回答

2

您可以使用data()屬性將值傳遞給javascript,您將需要使用this傳遞源對象。

<input type="text" data-someAtt="1" onclick="removeFeetype(this)" /> 

function removeFeetype(obj) 
{ 
    $(obj).data("someAtt"); 
} 
1

允許使用jQuery整體

$(document).ready(function(){ 
    $(".Fee").click(function(){ 
     removeFeetype($(this).attr('data-value')); 
     $(this).attr('data-value',$(this).attr('data-value') - 1); 
    }); 
}); 

我會期待你的鏈接是

<div class="Fee" data-value="5">Link</div> 
+0

'使用'id'屬性來存儲值可能是真是個壞主意,因爲它們必須是獨一無二的。 – 2013-04-10 10:31:20

+0

這是一個例子,我知道你可以用更好的方式做到這一點,請參閱註釋。我會保持容易,所以他明白,然後他可以做他喜歡的事情。 – 2013-04-10 10:34:26

+0

我不確定我是否同意評估這只是「更糟糕的」,我想我會盡可能地說這只是錯誤的。如果你知道這可以通過'data- *'屬性來完成,那麼如何實現這個目標的例子會好很多(我甚至會贊成這個)。 – 2013-04-10 10:35:54