1

これを機能させるのに苦労しています。私がしたいのは、onclick から動的変数を取得し、それらをドキュメント内の別の div に追加する div に配置することです。各項目にはデータベース クエリから関連付けられた変数があるため、データベースから buildTicket() 変数を設定する方が簡単だと考えました。

私は何か間違ったことをしていることを知っています。私はちょうど何を理解することはできません。

もっと良い方法があれば、私はすべて耳にします。

これが私のJavaScriptです:

<script type="text/javascript">
$(document).ready(function(){
$(function() {
buildTicket = function(eventname,ticketprice,venueid,userid) {
    $(".ticketbtn").click(function(){
      $(".ticketwindow").append("<div class='ticket'>" + eventname + " - " +     eventprice + "</div>");
    });
}
});
</script>

ここに私のHTMLがあります:

<div class="ticketbtn" onclick="buildTicket('Some Show','12.00','1','2');">
        <img src="assets/images/tixicon.png" alt=""> <div class="eventname">Some Show</div>
        <div class="ticketprice">Adult - 12.00    </div>
    </div>

<div id="ticketwindow">

</div>

誰かがこれを理解するのを手伝ってくれますか?

(コードのフォーマットについては申し訳ありません。まだ、stackoverflow のフォームを適切に使用する方法を見つけようとしています。)

ありがとう、ジョー

4

3 に答える 3

0

ボタンのクリック時に onClick リスナーをバインドしています。

onClick 要素属性を使用する必要がある場合は、次のコードが機能しますが、Unobtrusive JavaScriptの原則に精通している必要があります。

$(document).ready(function(){
    var buildTicket = function(eventname,ticketprice,venueid,userid) {
        $("#ticketwindow").append("<div class='ticket'>" + eventname + " - " + eventprice + "</div>");
    });
});
于 2013-10-16T16:24:31.077 に答える
0

あなたの質問から引用します。「データベースから buildTicket() 変数を設定する方が簡単だと思いました。」

JavaScript でデータベース データを取得したい場合は、それを取得するために HTTP リクエストを作成するのはどうですか。明らかに、XMLHttpRequest を使用して通常の XJAX の方法でこれを行うことができます: http://www.w3schools.com/xml/xml_http.asp または、サーバー側のコードを呼び出して JSON を生成し、それを <script > タグ 例 <script type="text/javascript" src="../js/jsonFromServerSideCode.jsp"></script>

于 2013-10-16T16:34:48.263 に答える
0

まず、$(function() {は と同等で$(document).ready(function() {あるため、そのうちの 1 つだけが必要です。

onclick第二に、jQuery でバインドしている場合click()、またはその逆の場合、属性を使用する必要はありません。

属性を使用するだけの場合はonclick、ドキュメント対応ハンドラーとclick()バインディングをすべて削除して、buildTicket()関数を定義するだけです。

第 3 に、eventprice変数の名前が間違っていbuildTicket()ます。

これは、jQuery を使用しclickてボタン div のイベントにバインドする作業フィドルです。http://jsfiddle.net/BdJAL/

于 2013-10-16T16:27:42.883 に答える