コントローラーでコレクションに値を設定し、それらを ViewData に保存するという問題があります。例えば:
ViewData["ex1"] = new SelectList(ex1); // a simple collection
ViewData["ex2"] = new SelectList(group.Members, "Id", "Gender");
これらをビューに渡し、このようにループしています。例えば:
<div id="divListBox" style="overflow:auto; border:1px solid #CCCCCC; padding-left:5px; background-color:white; height: 130px">
<%
var list = this.ViewData["e2x"] as SelectList;
var pList = this.ViewData["ex1"] as SelectList;
foreach (var p in list)
{
foreach (var pil in pList)
{
if(pil.Text.Contains(p.Value)) // ex1 does contains ex2
{
%>
<input id="cbPerson" type="checkbox" value="<%= p.Value %>" />
<label for="cbPerson"><%= p.Text %></label>
<input id="cbPersonInfo" type="hidden" value="<%= pil.Text %>" /><br />
<%
}
}
}
%>
</div> ...
ここに私のjQueryがあります。例えば:
$('#divListBox > input').each(function() {
var personInfo = $('#cbPersonInfo').val();
$(this).append($('personInfo'));
$('*').qtip('hide');
$('#divListBox label').each(function() {
$(this).qtip({
content: personInfo,
show: 'mouseover',
hide: 'mouseout',
style: {
classes: 'ui-tooltip-custom',
tip: true
},
position: {
my: 'left bottom',
at: 'top right'
}
});
});
});
「非表示」の入力タイプを「テキスト」に設定すると、それぞれの正しい情報が表示されます。ただし、それらにカーソルを合わせると、最初の情報がすべてのツールチップとして表示されます。それは私のjqueryかもしれないと思いますが、よくわかりません。私はこの問題に何時間も取り組んできましたが、まだ何もしていません。誰でも助けてもらえますか?