jquery的ajax

实例1:
_form.html.erb中:
####这里的input框里是显示以前房间的position,并且可以改,这里的class是用来jquery监听的,value是用来input框中显示默认值的,data-id是用来传递subject.id这个自定义属性是用来ajax时用到url传递一个subject.id的
<input type=“text” size=“1” class=“edit_position"value=”<%=f.position%>"data-id%>’>
style.css中:
###css的鼠标焦点时候背景变色,css控制一个标签从最外面的标签一层一层写 用空格间隔
.ui.form.ui.celled.striprd.table input:focus{
background-color:#FFFFCC;
}

app.js中:
###url根据rooms_subjects的action的url:

$(".edit_position").blur(function(){
var rooms_subject_id = $(this).attr("data-id");
if($(this).val()!=$(this).attr("value")){
$.ajax({
type:'put',
url:'/manage/rooms_subjects/' + rooms_subject_id,
cache:false,
data:{
position:$(this).val()
},
success:function(data){
alert("修改成功");
window.location.reload();
}
});

}
};
rooms_subjects_controller.rb中:
###同过params[:position]来引用ajax传递的data值,最后render nothing:true表示不渲染任何东西因为只是个ajax,不需要渲染
def update
@rooms_subject = RoomsSubject.find(params[:id])
@rooms_subject.update(position:params[:position])
render nothing:true
end

实例2:
_status.html.erb中:
###自定义属性data-id传id来拼接url,注意!!!semantic ui中前面装饰的样子ui button 后面可以跟类名status,jquery监听class名字status即可不需要监听全名,即 ( . s t a t u s ) , 不 需 要 (.status),不需要 (.status),(.ui.button.status)
<%if subject.status == ‘pending’ %>
<button class=“ui button status” data-id="<%=subject.id%><%=link_to “pending” %>">
<% else %>
<%=link_to “running” %>
<%end%>
app.js中:
###jquery中.on()函数表示一直监听,click只监听点击的那一下,所以多个的时候要用.on()函数。注意jquery中.text().html()函数是取监听标签两尖括号中间的值,而val()函数是取标签属性value=""即属性value的值
KaTeX parse error: Expected '}', got 'EOF' at end of input: …var subject_id=(this).attr(“data-id”);
var status = $(this).text();
var mythis = $(this);
if(status == ‘pending’){
status = ‘running’;
}else{
status=‘peding’;
}
$.ajax({
type:‘put’,
url:’/manage/subjects/’ + subject_id + ‘/change_status’,
cache:false,
data:{
status:status
},
success:function(data){
alert(“修改状态成功”);
}
})
});

subject_controller.rb中:
##可以用params[:status]来取ajax传递的data值
def change_status
Subject.find(params[:id]).update(status:params[:status])
render nothing:true
end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值