gpt4 book ai didi

javascript - 在 Rails View 中单击元素时如何触发 Controller 中的方法?

转载 作者:行者123 更新时间:2023-11-28 17:42:03 25 4
gpt4 key购买 nike

我想要点击的下拉列表元素是

<select class="store-select">
<option value="" selected="selected">Please select</option>
<option value="1">Administrator</option>
<option value="2">User</option>
<option value="3">Editor</option>
</select>

我希望它根据单击的选项触发 Controller 中的操作。所以我希望学习的一件事是如何访问 Controller 中的该值。我还想在单击选项后重定向页面。当在我的 View 中单击其他链接时,我可以重定向页面,但是当我单击下拉列表中的某个元素时,它不会重定向。它甚至不会进入该方法的 View 。当单击下拉列表中的某个元素时,它只会保留在当前页面上。

def practice  # the redirect doesn't work in this method but works in others 
# redirect_to "https://tosbourn.com"
render "ibotta/show"
end

我的 application.js 文件如下所示

$('.store-select').on('change', function() {
$.ajax({
url : '/users',
type : 'GET',
data : { user_id: this.value },
dataType:'script'
});
})

我的routes.rb文件包含以下内容

get 'users' => 'smiths#practice'

如果我遗漏了您想了解的有关此问题的任何内容,请告诉我。谢谢。

最佳答案

当您想在下拉更改时重定向时,您可以按照此操作

假设您的下拉列表是

<select name="select1" id="select1">
<option value="0">Page1</option>
<option value="1">Page2</option>
<option value="2">Page3</option>
<option value="3">Page4</option>
</select>

你的java脚本更改事件是

$select1.on( 'change', function() {
switch(this.value){
case '0':
window.location = [page1url];
break;
case '1':
window.location = [page2url];
break;
case '2':
window.location = [page3url];
break;
case '3':
window.location = [page4url];
break;
}
});

您将重定向到您想要更改的网址

关于javascript - 在 Rails View 中单击元素时如何触发 Controller 中的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47707485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com