我試圖整合星級小窗口http://orkans-tmp.22web.net/star_rating/我怎麼能模擬星級的Widget
(我用的小部件從演示6,3)之後
後的明星們獲取點擊事件單擊事件,提出了與UI對象
callback: function (ui, type, value) {
var arr = ui.$stars.find("a");
...
//和HTML的形式是:
<form id="rat" action="" method="post">
<input type="radio" name="rate" value="1" title="Poor" />
<input type="radio" name="rate" value="2" title="Ahh" />
<input type="radio" name="rate" value="3" title="Good" />
<input type="radio" name="rate" value="4" title="Very Good" />
<input type="radio" name="rate" value="5" title="Superb"/>
<input type="submit" value="Rate it!" />
</form>
當上星的用戶點擊,這是爲我工作, 我所要做的,就是「假」的點擊行爲,例如我的代碼裏面,點擊星星,
據據我所知,我有兩個選項 1)要假冒點擊(我嘗試過,但它產生的職位,我不喜歡) 2)要獲得ui對象,並調用相同的邏輯點擊事件
你能幫我解決我的問題嗎?
(我需要模擬點擊事件,只是因爲我想提高通過 可用性通過鍵盤選擇等級..)
感謝。
編輯:
I tried combination of the following, non of them started the animation..
//$("#rat").stars("select", 5);
//$("#rat").click();
//$("#rat:first").trigger("submit");
// document.forms[0].submit();
//jQuery('#rat').rating();
//$('#rat').rating('select', 1);
//$('#rat').show();
EDIT2: 我能夠選擇用下面的代碼的星星,但不啓動動畫
$("#rat").stars("select", 0);
$("#rat").show();
EDIT3 我做了變通,但我仍然沒有得到花哨的動畫
function blinkStars(value) {
$("#rat").stars("select", value);
$("#rat").show();
setTimeout(function() { $("#rat").stars("select", 0); $("#rat").show(); }, 600);
}
Edit4 - 我被要求提供有關Ajax調用更多的細節,所以它看起來像
$(function() {
$("#rat").children().not(":radio").hide();
// Create stars
$("#rat").stars({
cancelShow: false,
callback: function (ui, type, value) {
var arr = ui.$stars.find("a");
arr.slowEach(100,
function() { $(this).animate({ top: "28px" }, 300) },
function() {
$.post("/Home/Vote", { rate: value}, function (data) {
//do some work here..
}, "json");
$("#loader").fadeIn(function() {
$("#loader").fadeOut(function() {
arr.slowEach(100, function() { $(this).animate({ top: 0 }, 300) });
});
});
});
}
});
我將超過格萊德使動畫工作..
該鏈接的例子甚至不爲我工作,我看到的只是原始的形式。可能不是widget的最佳選擇? – DGM
我能夠使它的工作,當用戶點擊它,它是非常酷的部件.. :) – Delashmate
確定即時通訊給予一個全新的答案 – Evan