如何使用Ajax动态更改编辑路径的href

时间:2018-07-12 16:05:13

标签: javascript jquery ruby-on-rails ajax

我有一个Bookings显示页面,该页面带有一个下一个按钮,该按钮使用ajax单击所有用户的Bookings并替换每个实例的属性。但是,我需要一种方法来动态更改每个预订的显示页面的每个编辑和取消路径。

<p class="userName" data-id="<%=@user.id%>"><%= "#{@user.name}'s 
Scheduled booking" %></p>
<a href="#" class="js-next" data-userid="<%=@user.id%>"data-id="<%= 
@booking.id %>">Next...</a>
<p class="lessonName"><%= @booking.lesson.name %></p>
<ul>
<li data-id="<%=@booking.id%>" id="bookingNote"><%= link_to "Manage 
notes", edit_user_booking_path(@user, @booking) %></li>
<li data-id="<%=@booking.id%>" id="cancelBooking"><%= link_to "Cancel 
Reservation", delete_booking_path(@booking) %></li>
</ul>

<script type="text/javascript" charset="utf-8">
$(function () {
$(".js-next").on("click", function() {
var userID = parseInt($(".js-next").attr("data-userid"));
var nextID = parseInt($(".js-next").attr("data-id")) + 1;
$.get("/users/" + userID + "/bookings/" + nextID + ".json", 
function(data) {
  $(".lessonName").text(data["lesson"]["name"]);
  $(".js-next").attr("data-id", data["id"]);
  });
 });
});
</script>

我需要在每个预订编辑中使用href属性,并取消当前显示路径的路线。

2 个答案:

答案 0 :(得分:1)

您可以使用.prop()(在通过ajax调用获取新网址之后)

$("#bookingNote a").prop("href", "Your New bookingNote link URL");
$("#cancelBooking a").prop("href", "Your New cancelBooking link URL");

答案 1 :(得分:0)

您可以使用.attr()

$("a").attr("href", "http://www.google.com/")