0
我試圖實現一個評級插件。我能夠使評分插件正常工作。我正在努力擴展它。所以每次點擊評級時,都會將該標籤置於評級本身之下。目前它綁定到頁面上其他地方的css id。Jquery在MVC中製作選擇器Foreach
該場景是一個Twitter消息,似乎不能得到一個選擇器來更新消息本身。它把信息放在所有的人身上,因爲它不是唯一的。
我該如何使項目獨一無二。該插件的文檔是http://rateit.codeplex.com/documentation。
$(document).ready(function() {
//we bind only to the rateit controls within the products div
$(".rateit").bind('over', function (event, value) { $(this).attr('title', value); });
$(" .rateit").bind('rated reset', function (e) {
var ri = $(this);
//if the use pressed reset, it will get value: 0 (to be compatible with the HTML range control), we could check if e.type == 'reset', and then set the value to null .
var value = ri.rateit('value');
var ratingid = ri.data('ratingid');
//maybe we want to disable voting?
ri.rateit('readonly', true);
$.ajax({
url: '/Home/GetRating', //your server side script
data: { id: ratingid, value: value }, //our data
type: 'POST',
success: function (data) {
$('#ratemsg').html(data);
},
error: function (jxhr, msg, err) {
$('#response').append('<li style="color:red">' + msg + '</li>');
}
});
});
});
</script>
@foreach (var item in Model)
{
<div id="[email protected](item.StatusId.ToString())" class="TwitterMessageBox">
<ol>
<li class="TweetLineBody">
@Html.Hidden("Statusid", item.StatusId)
<div class="TwitProfileImage">
<img [email protected](item.ImageUrl) alt="@item.ScreenName" />
</div>
<div class="TwitRealName">
@item.User
</div>
<div class="TwitNickName">
@MvcHtmlString.Create(@Html.Namify(@item.ScreenName))
</div>
<div class="TweetText">
@MvcHtmlString.Create(@item.Tweet)</div>
<div class="TweetTime">
@Html.RelativeDate(@item.Created)</div>
<div id="[email protected](item.StatusId.ToString())" name="[email protected](item.StatusId.ToString())" class="TweetRating">
// This is where the rating widget goes and records and updates
<div data-ratingid="@item.StatusId" class="rateit"></div>
// this is where i want to go but i cant figure out a way
<span id ="ratemsg" name="[email protected](item.StatusId.ToString())" class="ratemsg"> </span>
</div>
</li>
</ol>
</div>
}
正如你可以在上面看到,我試圖通過將消息ID是一個狀態ID來選擇設置一個唯一的密鑰,但我似乎無法使用通配符來選擇它。我嘗試了一些jQuery網站上的例子,我似乎無法得到它。
謝謝。
這工作真棒。讓我明白這一點。 ri.next獲取下一個元素並設置值。我將它設置爲msg對象,然後它可以工作。 – 2012-04-14 16:04:58
是的,DOM遍歷>選擇器。如果您知道哪個消息元素與評級元素相對應,則不需要唯一標識符。 – Dennis 2012-04-14 16:32:59
我試圖將div移出tweetrating,投票明星正在破壞佈局 – 2012-04-15 15:35:29