2015-07-22 4 views
0

Я не могу получить идентификатор элемента с щелчком, используя this, поскольку он возвращает 'undefined'. Я также не могу передать какой-либо параметр функции.Невозможно получить идентификатор элемента

Что мне здесь не хватает? Если я использую имя class вместо того, чтобы указывать на элемент как $(this), я могу получить идентификатор первого элемента, но он не работает, если я укажу, используя $ (this).

if(data && data[0].type) { 
    var parameter="type"; 
    typeMsg +="Car Type : "; 
    typeMsg +="<table>"; 
    $.each(data[0].type , function(index, value){ 
     console.log(value); 
     typeMsg +="<tr><td>"+ value +"</td><td class='text-center'><a href='#' id='"+value+"' onclick='deleteThis(parameter)' class='delete'><img src='../img/cross.png'></a></td></tr>"; 
    }); 
    typeMsg +="</table>"; 
} 

function deleteThis(param) { 
    console.log(param);   //outputs nothing 
    var deleteId = $(this).attr("id"); 
    console.log(deleteId);  //says undefined 
} 
+0

Пожалуйста вставьте ур HTML код связан с этим .. – Arcanyx

+0

@Arcanyx, я не использую html здесь..but html создается в jquery, который я вставил выше. – 112233

+0

Не создавайте такую ​​разметку и не используйте встроенные обработчики onClick. Вы включаете jQuery по какой-либо причине:)) – moonwave99

ответ

2

Вместо параметра отправить this с onclick, это поможет вам текущий элемент, и вы можете получить идентификатор одного и того же тогда

function deleteThis(param,text) { 
 
    alert(text); 
 
    var deleteId = $(param).attr("id"); 
 
    alert(deleteId) 
 
    console.log(deleteId); 
 

 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<a href='#' id='qwe' onclick="deleteThis(this,'tushar')">click</a>

+0

это работает..thanks ... как я также передаю строку в функции deleteThis как второй параметр? – 112233

+0

@Vani: Обновлено Проверка Plz – Tushar