2017-01-16 52 views
1

我有不同的頁面上幾個單選按鈕。我一直在試圖編寫一個通用函數,它接受該單選按鈕列表的id/class。一般化了幾個行動統一到一個jQuery功能

實施例1:的index.html

$("[id*='Buttonlist1']").each(function() {  
    var radios = $(this).find(":radio"); 
    var randomnumber = Math.floor(Math.random() * radios.length); 
    $(radios[randomnumber]).click().mousedown(); 
}); 

實施例2:Dream.html

$(".ButtonList2").each(function() {  
    var radios = $(this).find("label"); 
    var randomnumber = Math.floor(Math.random() * radios.length); 
    $(radios[randomnumber]).click().mousedown(); 
}); 

注意.find( 「類型」)設置在所述兩個例子改變。我想在通用函數中傳遞id /類和類型。我寫作一般功能的嘗試沒有結果。任何人可以幫助我的一般功能?謝謝。

回答

3

什麼讓兩個參數,這樣

function funcName(selector, type){ 
    $(selector).each(function() {  

    var radios = $(this).find(type); 
    var randomnumber = Math.floor(Math.random() * radios.length); 
    $(radios[randomnumber]).click().mousedown(); 

    }); 
} 

調用此函數使用不同的參數

funcName("[id*='Buttonlist1']", ":radio"); //index.html 

funcName(".ButtonList2", "label"); //dream.html 
+0

啊!這很簡單。謝謝。 :) –

2

可能,這將解決您的問題

function commonFunction(identifier,type) { 
    $(identifier).each(function() { 
     var radios = $(this).find(type); 
     var randomnumber = Math.floor(Math.random() * radios.length); 
     $(radios[randomnumber]).click().mousedown(); 

    }); 
} 

commonFunction(".someClass","div"); 
commonFunction("#SomeID",":radio"); 
commonFunction("div","a"); 
+0

謝謝。類似於@Jyothi給出的。 –

+0

是的,只需1分鐘。遲到; ;-) 謝謝 –