我在我的ruby erb代码中使用了一个jquery ui滑块(http://jqueryui.com/slider/)。
$( "#slider" ).slider({
range:'min',
value:<%= @last_change %>,
min: 0.01,
max: 98,
step: 0.01,
slide: function( event, ui ) {
$( "#slider-value" ).html( ui.value );
}
});
$( "#slider-value" ).html( $('#slider').slider('value') );
挑战是使用此值更新的按钮,使用此脚本变量#slider-value。 目前我可以使用以下内容在我的erb(JS外部)上显示此变量:
<p>Spinner has a value of <span id="slider-value"></span></p>
但是我的问题是,如何在以下按钮上使用此值:
<%= link_to "My Button", {:controller => "my_controller", :action => "my_action", :value => **slider_value_from_js** }%>
我阅读并且我理解js是客户端,服务器无法处理客户端事务=&gt;许多参考使用复杂的ajax,partials和stuff,但是我不认为这是问题所在,因为表单请求/按钮总是使用客户端输入,这就是我需要的东西。
答案 0 :(得分:1)
实际上使用form
执行此任务看起来更合适 - 将按钮设为submit
元素,并将滑块值存储在隐藏字段中。
但在您当前的代码中,您可能只是动态更改链接的href
属性(a
元素)。
<%= link_to "My Button", {controller: "my_controller", action: "my_action", value:'{value_to_be_replaced}' }, class:'theButtonClass'%>
和
$('a.theButtonClass').attr('href',
$('a.theButtonClass').attr('href').replace(
encodeURIComponent('{value_to_be_replaced}'),
encodeURIComponent('your_new_value_here')
)
);