我有一个幸运的旋转脚本需要从数据库中获取随机数并让它旋转到数字。
问题是,在document.ready之后,我无法再次为对象选项分配任何值。
<input type="button" value="test" id="playBtn" onclick="getluckynumber();"/>
<input type="button" id="fire" style="visibility:hidden;"/>
<input type="hidden" id="luck" value=""/>
function getluckynumber(){
$.ajax({
url:"ajax.php",
method:"POST",
data:{event_id:'<?=$event_id ?>'},
})
.done(function(data){
$("#luck").val(data);
$("#fire").trigger("click");
});
}
$(document).ready(function(){
$('.slot').jSlots({
spinner:'#fire',
endNumbers:$("#luck").val(),
});
});
如何制作&#34; endNumbers&#34;采取新的价值?
更新: https://jsfiddle.net/asaxpse3/1/
更新: 最终的工作代码
var getNewNumber=function(spinner){
$.ajax({
url:"ajax.php",
method:"POST",
async:false,
data:{event_id:'23'},
})
.done(function(data){
if(data){
spinner.options.endNumbers=JSON.parse(data);
//console.log(data);
}
});
};
$(document).ready(function(){
$('.slot').jSlots({
spinner:'#playBtn',
onStart:getNewNumber
});
});
感谢skobaljic。
答案 0 :(得分:0)
您可以在public List<Student> GetStudentData()
{
List<Student> dataStudent;
using (IDbConnection connection = RepositoryHelper.OpenConnection())
{
dataStudent = connection.Query<dynamic>(
"mystoredprocedure",
commandType: CommandType.StoredProcedure)
.GroupBy(x => x.StudentId)
.Select(x => new Student
{
StudentId = x.First().StudentId,
Gender = x.First().Gender,
emailAddresses = x.Select(ea => new EmailAddresses
{
EmailAddress = ea.emailAddresses
}).ToList()
}).ToList();
return dataStudent;
}
}
选项上绑定该函数,但您必须更改插件代码并将微调器实例作为参数提供:
onStart
您应该定义随机数函数生成器,例如:
if ($.isFunction(base.options.onStart)) {
base.options.onStart( base );
}
最后,将生成器函数绑定到插件的var getNewNumber = function( spinner ) {
/* Some SYNC!! ajax stuff, than when done: */
//the returned data is a array, eg [1,3,4]
//for the spinner to stop at 134
spinner.options.endNumbers = [1, 3, 4];
};
选项:
onStart
请注意:AJAX必须同步,请使用参数$('.slot').jSlots({
spinner: '#playBtn',
endNumbers: [],
onStart: getNewNumber
});
。
<强> Complete code here 强>