【发布时间】:2014-03-31 11:26:11
【问题描述】:
我的 _form2.html.erb 中有以下脚本:
<script type="text/javascript">
$(function () {
$('#toright').click(function () {
var sel = document.getElementById("left");
var len = sel.options.length;
var w_id = this.getAttribute('w_id');
for (var i = 0; i < len; i++)
{
if(sel.options[i].selected)
{
$.ajax("/r_holidays/destroy", {holiday_id: sel.options[i].value, group_id: w_id}).done(function(data){/*do something here*/});
##########HERE SHOULD BE AN UPDATE-METHOD########
}
}
})
});
$(function () {
$('#toleft').click(function () {
var sel = document.getElementById("right");
var len = sel.options.length;
var w_id = this.getAttribute('w_id');
for (var i = 0; i < len; i++)
{
if(sel.options[i].selected)
{
$.ajax("/r_holidays/create", {holiday_id: sel.options[i].value, group_id: w_id}).done(function(data){/*do something here*/});
##########HERE SHOULD BE AN UPDATE-METHOD########
}
}
})
});
</script>
这只会创建这个小的交换表:
绿色选择的ID是“left”,右边的是“right”。 我想要的是它在执行 AJAX 方法时更新左表。
我已经google了很多,但我找不到方法,我需要。 谁能帮帮我?
编辑@Anoop Joshi:
好吧,我认为它可以在服务器端重新渲染内容,然后在客户端重新加载它。 这是我的代码,需要重新加载:
<%= form_tag({}, {}) do %>
<% holidays_array = @group.holidays.all.map { |holiday| [holiday.name, holiday.id] } %>
<%= select(:holiday_id, :name, options_for_select(holidays_array),{}, {:multiple => true, :style => "width: 300px; background-color: #9FE", :width => "300", :size => 20, :id=>"right" } ) %>
<% end %>
编辑:
我不想在我的选择中添加一些选项。我只需要更新整个选择,或者如果需要在文件中更新。
【问题讨论】:
-
你的 ajax 响应怎么样?
-
对不起,你什么意思?
-
发生的情况是,当我单击 > 删除 ID 为“eine gruppe”的 RHolidays(代表多对多关系)和所选假期的 ID。
标签: jquery ruby-on-rails ruby ajax html-select