2014-09-02 3 views
-5

Когда есть много динамически созданных текстовых полей, существует ли способ определить идентификатор текстового поля, когда пользователь нажимает на любое из этих текстовых полей?Определить идентификатор текстового поля при нажатии

EDIT:

$(document).ready(function() { 
    var textCount = 0; 
    var textfieldWrapper = $("#textfieldWrapper"); 
    var x = textfieldWrapper.length; 
    var textfield = $("#namebutton"); 

    $(textfield).click(function() { 
     textCount++; 
     $(textfieldWrapper).append('<div>' + '<div class="name" id="textfield_0' + textCount + '">' + '<input type="text" id="field_' + textCount + '" placeholder="dynamic box"/>'); 
     x++; 
     return false; 
    }); 
}); 
+3

Покажите нам свой код ... – dashtinejad

+5

Да, есть .. –

+0

Что вы сделали до сих пор? – astroanu

ответ

4

Вы можете сделать это так:

<input onclick="alert(this.id)" /> 

Или с помощью JQuery:

$(document).on('click', 'input', function(){ 
    alert($(this).attr("id")); 
}); 
+1

Отлично! благодаря! – Nelie

+0

@Nelie Пожалуйста, примите ответ, если он сработает для вас! :) –

+0

Я предполагаю, что вы пытаетесь что-то сделать с идентификатором. чтобы сделать вещи проще, я предлагаю вам использовать атрибут data. может быть найден как $ (this) .data ("id"). его очиститель :) – astroanu

0

вы легко можете сделать это путем применения класса для тех, текстовые поля и использование (ЭТО), т.е. текущий объект. Пожалуйста, проверьте код ниже:

$(document).on("click", ".classOfTextbox", function() { 
      var id = $(this).attr("id"); 
      alert(id); 
     }); 

Надеется, что это помогает :)

+2

'alert (this.id);' более краткий. – Andy

0

Вот путь в ванили JavaScript

document.body.addEventListener('click', function (e) { 
    if (e.target instanceof HTMLTextAreaElement || 
     ((e.target instanceof HTMLInputElement) && (e.target.getAttribute('type') === "text")) 
    ) { 
     console.log(e.target.getAttribute('id')); 
    } 
}); 
0
<a class = "click" id = "1">Item 1</a> 
<a class = "click" id = "2">Item 2</a> 

$(".click").click(function(){ 
    pos = this.attr("id"); 
}); 
0
$(#textBox).on(click, function() { 
    alert($(this).attr('id');); 
}); 

если вы собираетесь через кратному текстовые поля:

$(.textboxes).each(function() { 
    $(this).on(click, function() { 
     alert($(this).attr('id');); 
    }); 
}); 
0

Попробуйте использовать функцию или использовать JQuery клик событие
1) с помощью JavaScript:

<input type="text" id="data" onClick="reply_click(this.id)"> 

<script type="text/javascript"> 
function reply_click(clicked_id) 
{ 
    alert(clicked_id); 
} 
</script> 

2) с помощью JQuery:

<input type="text" id="data"> 

$(document).on('click','input[type="text"]',function(){ 
    alert($(this).attr('id')); 
});