Передача внутреннего div-текста в функцию - PullRequest
1 голос
/ 07 марта 2012

Моя цель состоит в том, чтобы, когда пользователь щелкает строку, в которой есть конкретный ввод данных, ему будет предоставлена ​​дополнительная информация о нем.До сих пор моя логика заключалась в том, чтобы пользователь щелкнул строку и была функция, которая передает аргумент innerHTML, который затем обрабатывается другой функцией, которая извлекает дополнительную информацию.Так что если есть список вроде:

John Doe

Jane Doe

Joe Blow

Я думал, что когда пользователь должен был нажатьпо их именам строка innerHTML того, на что они нажали (например, «Джон Доу»), каким-то образом будет передана в getInformation (fullName), где fullName будет «Джон Доу».

Вот мой HTML:

<div class='row' onclick=alert((this).innerHTML)>
    <div class='label'>
         John Doe
     </div>
</div>
<div class='listSeparator'></div>

Проблема в том, что я не слишком уверен, как это реализовать. (this) .innerHTML выше явно не работает, так как он просто вернул бы "<div id ='labeled' class='label'>John Doe</div>".Есть ли способ сделать то, что я пытаюсь сделать?Или я даже подхожу к этому под прямым углом?

Спасибо за любую информацию!

Ответы [ 4 ]

3 голосов
/ 07 марта 2012

Вы хотите прочитать полное имя из .label DIV?Это должно быть то, что вы хотите (обычный JS, не требуется jQuery ):

<div class='row' onclick="alert((this).children[0].innerHTML)">

http://jsfiddle.net/WuA9R/1/

1 голос
/ 07 марта 2012

Вместо того, чтобы получить innerHTML внешнего div, вам нужен innerHTML внутреннего div. В DOM внутренний div является дочерним элементом внешнего div, поэтому получите первого дочернего элемента внешнего div и получите innerHTML этого.

Что-то вроде:

onclick=alert((this).childNodes[0].innerHTML)
0 голосов
/ 07 марта 2012
<script>
$('.row').Click(function(){
 //var user_name = $(this).find("div.label").text();
 //or even better in case that the username is the only TEXT in the 'row' div:
 var user_name = $(this).text();


 //Do something with the user_name
 //Calling another function for example: getInformation(user_name);
});
</script>

<div class='row'>
    <div class='label'>
         John Doe
     </div>
</div>
<div class='listSeparator'></div>
0 голосов
/ 07 марта 2012

Я не уверен в том, что вы пытаетесь сделать, но я считаю, что вы ищете следующее (используя jQuery):


<div class="row" onclick="alert( $(this).text() );">test</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...