2013-09-16 9 views
0

Я разработана образец, где у меня есть список, на мой взглядКак получить содержимое div по jquery?

@foreach (var pin in Model.myList) 
{ 
     <div> 
      @Html.Hidden("idx", @pin.Id) 
      <div><span>@pin.Content</span></div> 
     </div> 
} 

и написал HTML результат:

<div> 
    <input id="idx" type="hidden" value="abc" name="idx"> 
    <div><span>123</span></div> 
</div> 

<div> 
<input id="idx" type="hidden" value="def" name="idx"> 
<div><span>456</span></div> 
</div> 

как я могу получить скрытое значение в JQuery когда пользователь нажимает на каждом DIV?

Я испытал это: $('#pbid')[0].value но всегда возвращаются «ABC», когда я нажимаю на второй DIV

+2

идентификаторов должны быть уникальными на странице контекста. Чтобы ответить на ваш вопрос, внутри обработчика кликов используйте «this», который ссылается на элемент, который нажал –

ответ

1

Ну, прежде всего, ID: s должны быть уникальными.

Кроме того, вы нацеливаете $('#pbid')[0], что приведет к первому элементу. Хотя разметка неверна. Измените его с ID на класс и не скопируйте позицию элемента.

Что-то вроде

$('.thediv').click(function(){ 
    console.log($(this).prev().val()); 
}); 

(предполагая дивы, что вы хотите интерактивный получает thediv класса)

+0

i test $ (this) .find («# idx»), он работает, но как получить значение? – motevalizadeh

+0

@motevallizadeh '$ (this) .find (" # idx "). Val()'. Но, как я сказал ранее, я предлагаю вам перейти от ID к классу, так как вы имеете дело с несколькими элементами. – Johan

+0

спасибо за вашу помощь. Я изменю свой путь и установлю уникальный идентификатор, но теперь я, м запутался, когда у каждого погружения есть свой идентификатор, и пользователь нажимает на него, как я могу найти девичью личку, нажатой пользователем? – motevalizadeh

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