1

次のような色をクリックしてテーマを変更できるサイトがあります。

<ul>
    <li>
        <span class='red'></span>
        <span class='orange'></span>
        <span class='green'></span>
    </li>
</ul>

この部分は正常に動作しますが... ページを更新すると元に戻るので、.

jQuery Ajax を使用して DB に色を保存したいのですが、onclick の色を jQuery 関数に送信する方法がわかりません。

$(function() {
    $('.themechange').click(function() {
        $.ajax({
           type: "POST",
           url: "http://mydomain.com/updatetheme.php",
           data: "color=somecolor",
           success: function(msg){
             alert( "Data Saved: " + msg );
           }
         });
    });
});

これを行う方法がわからず、助けを求めています:-)

4

4 に答える 4

1

次のようなことを試してください:

   <ul>
        <li>
            <span class='red  themechange' data-color='red'></span>
            <span class='orange themechange'  data-color='orange'></span>
            <span class='green themechange' data-color='green '></span>
        </li>
    </ul>

Jクエリ:

$(function() {
    $('.themechange').click(function() {
        $.ajax({
           type: "POST",
           url: "http://mydomain.com/updatetheme.php",
           data: "color=" + $(this).data('color'),
           success: function(msg){
             alert( "Data Saved: " + msg );
           }
         });
    });
});
于 2013-05-28T08:10:39.927 に答える
0

リスト要素の同じクラスを取得します。

<ul>
    <li>
        <span class='themechange' data-color='red'></span>
        <span class='themechange'  data-color='orange'></span>
        <span class='themechange' data-color='green '></span>
    </li>
</ul>

(function() {
$('.themechange').click(function() {
    $.ajax({
       type: "POST",
       url: "http://mydomain.com/updatetheme.php",
       data: "color=" + $(this).attr('data-color'),
       success: function(msg){
         alert( "Data Saved: " + msg );
       }
     });
于 2013-05-28T08:21:32.493 に答える
0

See which class is adding when you are changing the theme. It may add to your page's body. If so then store that class into jQuery cookies or you can use php session/cookies [via ajax]. Then add php session/cookie variable to body. Like this <body class="<?php echo $_SESSION['themeName'] ?>">

于 2013-05-28T08:26:56.773 に答える