我的观点有点像这样:
Message : Enable (When I click Enable. Enable will be disables and Disable will be reflected, Same process for all the three)
subscribe : Disable (clickable)
Email : Enable (clickable)
我在视图中的脚本
$(document).ready(function() {
var controller = 'settings';
var base_url = '<?php echo site_url(); ?>';
var currentuserid = <?php echo $current_user; ?>;
$( '.mess_disable' ).click(function() {
$.ajax({
'url' : base_url + '' + controller + '/enablemessagenotification',
'type' : 'POST',
'data' : {'currentuserid' : currentuserid },
'success' : function(data){
$('.mess_enable').show();
$('.mess_disable').hide();
location.reload();
}
});
});
我的控制器
function enablemessagenotification()
{
$userid = $this->input->post('currentuserid');
$data = array(
'email-message'=>'0',
);
$this->db->where('id',$userid);
$this->db->update('users',$data);
}
以下工作正常。
我的问题是,我写了近6个函数和6个脚本(用于启用和禁用)。要为所有人发短信太难了。可以以任何方式减少代码。
答案 0 :(得分:2)
如果我已正确理解您的代码,您可以执行以下操作:
- 对于脚本,您可以在每个按钮中添加相同的类,以便只使用一个脚本显示或隐藏它们。
- 对于这些函数,您可以在html隐藏输入中添加db所需的参数,您可以使用按钮将其传递给php,如下所示:
<input type="hidden" name="email-message" id="mess" value="">
<button id="mess" class="same-class">Message</button>
上面的信息已经传入php,您可以使用一个带开关的功能,最有可能为所有三个按钮提供服务。