2014-09-05 38 views
1

我的看法是有点像这样的:在查看减少代码的大小 - 笨

$(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);  
    } 

下工作正常

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) 

我的脚本。

这里我的问题是,我正在写几乎写6功能和6脚本(启用和禁用)。所有文字都太难了。以任何方式减少代码是可能的。

回答

2

如果我理解你的代码正确,你可以做以下内容:

- 对于脚本,你可以在每一个按钮添加同一类,这样可以显示或只用一个脚本隐藏起来。

-As你可以添加你在一个HTML隐藏输入需要为你的数据库的参数,你可以用按钮通过它在PHP如下显示功能:

<input type="hidden" name="email-message" id="mess" value=""> 
    <button id="mess" class="same-class">Message</button> 

并与上述信息已经传递到PHP你可以使用一个功能,最有可能的开关,以服务所有的三个按钮。