0

ビューにリストがあるサンプルを開発しました

@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>

ユーザーが各 div をクリックしたときに jquery で非表示の値を取得するにはどうすればよいですか?

私はこれをテストしました: $('#pbid')[0].valueしかし、2番目のdivをクリックすると、これは常に「abc」を返します

4

1 に答える 1

1

まず、ID:s は一意である必要があります。

$('#pbid')[0]また、最初の要素になる をターゲットにしています。マークアップが間違っていても。ID からクラスに変更し、要素の位置をハードコーディングしないでください。

何かのようなもの

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

(クリック可能にしたいdivがthedivクラスを取得すると仮定します)

于 2013-09-16T08:19:19.447 に答える