searchwithin
まず、テーブルの最後の項目の後のコンマを削除して、テーブルの構文エラーを修正します。IE6/IE7でエラーが発生します。
次に、このコードを使用してsearchwithin
配列を調べid
、適切なを見つけて、type
そのクリックイベントハンドラーを設定できますid
。
var searchwithin = [
{id:"clearwithin", type:"button"},
{id:"search_radius", type:"select"},
{id:"for_lease" ,type:"checkbox"},
{id:"for_sale", type:"checkbox"}
];
function findIdByType(target) {
for (var i = 0; i < searchwithin.length; i++) {
if (searchwithin[i].type === target) {
return(searchwithin[i].id);
}
}
}
var id = findIdByType("button");
if (id) {
$("#" + id).click(function() {
// do whatever you want to do on the click function here
}
});
テーブルに。のエントリが2つあることに気付きましたtype:checkbox
。上記のコード提案は、最初のエントリにのみ戻り、動作します。これらのIDの両方にクリックハンドラーを設定する場合は、コードまたはテーブルのいずれかを変更する必要があります。これがすべてのテーブルに使用される場合は、次のようにセレクター(複数のIDを含めることができます)に変更できます。
var searchwithin = [
{id:"#clearwithin", type:"button"},
{id:"#search_radius", type:"select"},
{id:"#for_lease, #for_sale", type:"checkbox"}
];
function findSelectorByType(target) {
for (var i = 0; i < searchwithin.length; i++) {
if (searchwithin[i].type === target) {
return(searchwithin[i].id);
}
}
}
var selector = findSelectorByType("button");
if (selector) {
$(selector).click(function() {
// do whatever you want to do on the click function here
}
});