2016-10-27 3 views
1

У меня возникли проблемы с получением элемента из содержимого и его отображением, когда пользователь нажимает на их мышь.JQuery: Как получить атрибут из содержимого

В принципе, мы создаем потерянный и найденный веб-сайт, и когда пользователь нажимает на определенное место, мы хотим, чтобы текстовое поле появлялось с именем местоположения.

У нас есть проблема, где ничто не выводимая, или длинный URL, а иногда [объект Object]

content: <area id="AF' class="location" title="Anderson Field" alt="Anderson Field"> 

У нас есть несколько области атрибутов с тем же именем класса, но идентификатор отличается. Вместо утомительного говоря, если (идентификатор == «AF») печать «Андерсон поле», мы хотим, чтобы автоматически получить значение в зависимости от щелчка мыши

Наш обработчик события:

$("href").click("click", function(){ 

$("#textBox").val(myfunction();

function myfunction() 
{ 
    return $("input").val(title); 
} 

так что наша myfunction фактически получает значение атрибута, но наша проблема в том, что мы не получаем его правильно. Либо ничего не отображается, длинный url или [Object object]

+0

'return $ (" input "). Val (title);' если это пытается получить заголовок, это должно быть больше похоже на 'return $ (" input ") [0] .title;' - хотя, «вход» здесь тоже неправильный –

+0

спасибо @Jaromanda, это на самом деле очень помогло нам! – alex067

ответ

0

Вы можете прикрепить событие к элементу «area» внутри карты, а из события jQuery получить доступ к свойствам элемента (элемента «area») , через "this" keyword.

Предполагая, что ваша карта называется «planetmap», например, это может быть:

$("map[name=planetmap] area").on("click", function(){ 
    $("#textBox").val($(this).attr('title')).show(); 
    return false; 
}); 

Где TextBox находится скрытый вход вы хотите отобразить. Вы можете увидеть его вживую:

https://jsfiddle.net/zetxek/rs03e3zd/5/

В случае, если вы просто хотите, чтобы установить значение на входе и отобразить его в какой-либо другой части кода, вы можете опустить «шоу» часть:

$("#textBox").val($(this).attr('title')); 
+1

почему 'id'? разве это не «титул», о котором спрашивает вопрос? –

+0

Я запутался в том, что заголовок и идентификатор были одинаковыми в элементе, но вместо этого давайте использовать заголовок: –

+0

title и id не совпадают с элементом во всем «AF»! == «Anderson Field» это на самом деле ' title' и 'alt', которые одинаковы –

Смежные вопросы