场景:我已登录管理员窗口。管理员是在CodeIgniter中制作的。
我有一个用户列表
user1
user2
user3
etc...
Foreach用户我有一个隐藏的div,其中包含有关他们的隐藏信息
类似
<a href="#">user1</a>
<div class="info" style="display:none;">
info about user1
</div>
<a href="#">user2</a>
<div class="info" style="display:none;">
info about user2
</div>
<a href="#">user3</a>
<div class="info" style="display:none;">
info about user3
</div>
等...
上面包裹在表格中。
当我点击一个用户时,最近的info-class-div显示。有关每个用户的信息应该是可编辑的并保存到数据库中。
<a class="moreinfo-user" href="#">User1</a>
<div class="info" style="display:none;">
Namn:<input type="text" name="username">
Phone:<input type="text" name="phone">
<input class="save-houseinfo" data-userid="<?php echo $user_id;?>" value="Save to db" />
</div>
首先我认为我可以提出请求,但是所有的姓名和电话(nrs)都会与其他形式的内容一起发布,这似乎是浪费。
我的代码目前(jQuery):
$(".moreinfo-user").click(function(e){
//Save info for member
var user_id = $(this).attr('data-userid');
var parent_div = $(this).parent('.info');
var info_name = parent_div.find('.house_name').val();
var info_phone = parent_div.find('.house_phone').val();
var use_url = CI.base_url + 'membership/ajax_membership/quicksave/'
+ encodeURIComponent(house_name) + '/' '
+ encodeURIComponent(house_phone);
var saveInfo = $.ajax({
type: 'GET',
url: use_url,
dataType: 'json'
});
saveInfo.done(function(data) {
alert('done');
$(this).css('font-weight', 'bold').css('background', 'yellow').val('Sparat')
$(this).parent().fadeOut(4000);
alert(data);
});
saveInfo.fail(function(ts) {
alert(ts.responseText);
});
});
我不确定如何发送数据......这有效......
var use_url = CI.base_url + 'membership/ajax_membership/quicksave/'
+ encodeURIComponent(info_name) + '/' '
+ encodeURIComponent(info_phone);
但我想发送一个这样的序列化对象:
var info = {}
info.user_id = user_id;
info.name = info_name;
info.phone = info_phone;
var use_url = var use_url = CI.base_url + 'membership/ajax_membership/quicksave/'
+ info.serialize();
但是在console.log中它说serialize()不是一个函数。我认为信息不是jQuery对象 - 这就是我得到错误的原因。有没有一种方法可以将信息转换为jQuery对象?
我只想在控制器中抓取这样的数据:
public function quicksave($info_data) {
//save stuff to db
echo json_encode('saved info about user with user id ' . $info_data['user_id']);
}