ホームページ  >  記事  >  バックエンド開発  >  アイデア募集中: juqery+thinkphp の質問と回答システム

アイデア募集中: juqery+thinkphp の質問と回答システム

WBOY
WBOYオリジナル
2016-06-21 08:45:38872ブラウズ

一般的な要件は、左側の質問をクリックすると、質問に対するすべての回答が右側に表示されることです。

私のアイデア
1。まず、データベースから質問を収集します。 質問に対する回答をクエリして、それを書き留め、jquery を介して表示 (または書き込み) します。
2. または、jjquery を介して質問の ID を取得し、FAX で送信します。 thinkphp、データベースにクエリを実行して出力しますか?
3. ajax を使用する必要がありますか?

どれを選択すればよいですか?
jquery チュートリアルしか見ていないためです。


ディスカッションへの返信 (解決策)

あなたが言及した 2 番目の点は、ajax の使用が必要です。
1 と 2 のどちらが優れているかについては、それによって異なります。
の質問の数は、答えを直接確認して変更するだけです。 js をクリックして右側の div の内容
質問やページ送りが多い場合は、ajax
jquery:
$ で確認する必要があります。 {alert(data)})
thinkphp:
$this->ajaxReturn($data);

フロントエンド JQ 変更 CSS
のページごとのページ数をクエリします。バックグラウンド + ページング AJAX クエリ

あなたが言及した 2 番目の点は、ajax の使用が必要です
1 と 2 のどちらが良いかは、質問の数によって異なります
質問が数十個ある場合のみ、答えを直接確認し、js をクリックして右側の div の内容を変更するだけです
質問やページめくりが多い場合は、ajax で確認する必要があります
jquery:
$.get(url? id=123 , function(data){alert(data)})
thinkphp:
$this->ajaxReturn($data);



ありがとうございます。左側の質問をクリックすると、右側に回答が表示されます。
やりたい機能もありますが、なぜそれに従って実装できないのかわかりません。
1. jquery が HTML を変更した後に追加されたコンテンツは、クリック イベントを受け入れることができなくなりました。
2. 私の考えでは、Like と Disdain の 2 つのクリックは、2 つの未使用の関数を指し、検索と対応するデータベースフィールドを変更します。この考えは正しいですか?

                $data = $data."<br><p >".$v['id'].":".$v['text']."<br><a class='zhan' href='#'><i></i><span id=".$v['id']." class='num'>0</span></a><a class='zhan'' href='#'><i class='i2'></i><span>0</span></a></p>";            }        }else{            $data ="没有满足条件的答案";        }        $this->ajaxReturn($data);    }


        //点击出现对应答案        $(document).ready(function(){            $(".qsn").click(function(){              //  alert(  $(this).attr('id'));                $.get("{$smarty.const.__CONTROLLER__}/ask/id/"+ $(this).attr('id'),                        function(data){                   // alert("Data: " + data );                            $('#ans').html(data);                         //  document.write(data);                        });            })        })


$(document).ready はバインドのみ可能です。ページの先頭にあるボタンにイベントを追加します いいねボタン クラス js_up にイベントを追加し、次に id="123" を追加します

次に、jquery に次のように記述します: $('.js_up').live( 'click', function(){ajax はいいねを送信します。id はボタンの id 属性です} )

間違っています。$(".qsn") です。click

バインドできるのは後からajaxで追加したボタンはバインドできないため、live

を使用する必要があります。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。