Сначала исправьте синтаксическую ошибку в таблице searchwithin
, удалив запятую после последнего элемента в таблице. Это приведет к ошибке в IE6 / IE7.
Затем вы можете использовать этот код для просмотра массива searchwithin
, чтобы найти id
для соответствующего type
, а затем установить обработчик события click для этого 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
}
});
Я заметил, что в вашей таблице есть две записи для type:checkbox
. Приведенное выше предложение кода вернется и будет действовать только для первой записи. Если вы хотите настроить обработчики кликов для обоих этих идентификаторов, то необходимо изменить код или таблицу. Если это все, для чего используется таблица, ее можно изменить на селектор (который может содержать более одного идентификатора), например:
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
}
});