所以,我们认为我们最终完成了滑块,但它们仍然是一个活生生的噩梦。
我现在看到的是我们的滑块成功选择一个值并将其发送给控制器。
在控制器中,我们保存了功能完美(因此我不会发布),但即使我们将滑块值分配给字段,这些分配也不会达到保存功能。
我会在下面的代码附近添加更多评论。
滑块构建:
function startSlider(){
$("#incomeSlider").slider({
min: 0,
max: 20000,
step: 5000,
value: ($('#hiddenIncome').val() || 0),
change: function( event, ui ) {
$( "#incomeAmount" ).val(ui.value );
}
});
$("#incomeAmount").val($("#incomeSlider").slider("value"));
}
以下是将值发送给控制器的功能:
$(document).ready(function(){
$(".Save").click(function(){
$('#hiddenIncome').val($("#incomeSlider").slider("value"));
var incomeAmt = $( "#incomeSlider" ).slider( "value" );
saveIncome(incomeAmt);
}
});
});
您必须相信滑块已正确构建,并且所选值将传递给控制器。当我们运行调试时,所选值出现在控制器中就好了。
这是控制器功能:
public void saveIncome(){
system.debug('####firing saveIncome');
My_User__c user = [SELECT ID, First_Name__c, Income_Estimate__c, FROM My_User__c WHERE ID=: user[userNumber].ID];
String num = myParam;
user.Income_Estimate__c = Integer.valueOf(num);
system.debug('####should be saving income as: ' + user.income_estimate__c);
//upsert user;
}
这里有趣的事情(尽管你可能很明显)。调试正确地显示了在此处保存给正确用户的选定值,但我们的保存功能中的调试显示滑块从未改变过。
当我从" upsert user"中删除评论时,该值将节省大约一半的时间(随机,没有条件),但这会导致我们的save方法出现其他问题。评论" upsert user"导致保存失败,即使这些值应该使用我们的保存功能中的其他所有内容进行更新。
感谢您的帮助,对于读取此内容的任何人,当然,如果需要,我总是愿意发布更多代码。
感谢您的时间。 :)