Codeigniter ve jQuery css switcher

2 Cevap php

PHP ve jQuery ile bir tarzı switcher oluşturma hakkında bir tutorial takip edilmiştir, şimdi öğretici PHP işlevi CodeIgniter'daki mevcut değildir verilerini almak kullanır, birisi bana yardımcı olacağını umuyordum Benim özür girişimi çeki düzen?

Benim PHP işlevi

    function setBackground() {
    $style = $this->uri->segment(3);
    setcookie("style", $style, time() + (60*60*24*30));
    echo $style;
}

Benim HTML ve jquery çağrı

<ul id="options">
    <li><a class="option" href="<?php echo base_url();?>welcome/setBackground/red">Red</a></li>
    <li><a class="option" href="<?php echo base_url();?>welcome/setBackground/green">Green</a></li>
</ul>
<script type="text/javascript">
$('a.option').styleSwitcher(); // calling the plugin
</script>

JQuery eklentisi

jQuery.fn.styleSwitcher = function(){
$(this).click(function(){
    loadStyleSheet(this);
    return false;
});
function loadStyleSheet(obj) {
    $('body').append('<div id="overlay" />');
    $('body').css({height:'100%'});
    $('#overlay')
        .css({
            display: 'none',
            position: 'absolute',
            top:0,
            left: 0,
            width: '100%',
            height: '100%',
            zIndex: 1000,
            background: 'black url(img/loading.gif) no-repeat center'
        })
        .fadeIn(500,function(){
            $.get( obj.href+'&js',function(data){
            $('#stylesheet').attr('href','/media/css/' + data + '.css');

                cssDummy.check(function(){
                    $('#overlay').fadeOut(500,function(){
                        $(this).remove();
                    }); 
                });
            });
        });
}
var cssDummy = {
    init: function(){
        $('<div id="dummy-element" style="display:none" />').appendTo('body');
    },
    check: function(callback) {
        if ($('#dummy-element').width()==2) callback();
        else setTimeout(function(){cssDummy.check(callback)}, 200);
    }
}
cssDummy.init();

}

Ben olsun stil değiştirmek için bağlantıya tıklayarak bu hata, kundakçı yoluyla rturned

Bir hata ile karşılaşıldı

Gönderdiğiniz URI karakterler izin vermemesi.

gönderiliyor URL olduğunu

http://mywebsite/index.php/welcome/setBackground/green&js

Bu örnek bana yeşil seçim tıklayarak edilir.

2 Cevap

Siz jquery () işlevi setBackground çağırarak değil.

.fadeIn(500,function(){
        $.get( obj.href+'&js',function(data){

You need to add id red and blue in a tag. You need to call it something like this.

.fadeIn(500,function(){
var color=$('.color').attr('id');
$.post('yourphpclass/setBackground/'+color, ...
...

dan +'&js' kısmı kaldırarak deneyin:

...
$.get( obj.href+'&js',function(data){
...

jQuery eklentisi.