0

ユーザーが別のページからボタンを選択した後、jQuery を使用して内部 Web ページから新しいページ DOM にコンテンツをロードするコードがあります。私が得た問題は、どのオプション ボタンをクリックしても、DOM に同じ結果が表示されることです。Var を .live に変更するように言われましたが、違いはありません。私のコードを見ている人以外は、これ以上説明することはできません。これに対処する最善の方法は何ですか?

<html>
<head>
<meta charset="utf-8">
<title>jQuery Mobile Web App</title>
<link href="../jquery.mobile.theme-1.0.min.css" rel="stylesheet" type="text/css"/>
<link href="../jquery.mobile.structure-1.0.min.css" rel="stylesheet" type="text/css"/>
<script src="../jquery-1.6.4.min.js" type="text/javascript"></script>
<script src="../jquery.mobile-1.0.min.js" type="text/javascript"></script>
</head> 
<body> 

<div data-role="page" id="page">
    <div data-role="header">
        <h1>Page One</h1>
    </div>
    <div data-role="content">   
        <ul data-role="listview">
            <li><a href="#options">Options</a></li>
            <li><a href="#results">results</a></li>
        </ul>       
    </div>
    <div data-role="footer">
        <h4>Page Footer</h4>
    </div>
</div>

<div data-role="page" id="options">
    <div data-role="header">
        <h1>Options</h1>
    </div>
    <div data-role="content">   
        <div id="page-wrap">
            <div id="header">
                <h1>Call a webpage in a DOM</h1>
            </div>

            <div id="load-div" class="functions">
                <span>Value 1</span>
                <input type="submit" value="300GB" id="load" />

<div id="load-div" class="functions">
                <span>Value 2</span>
                <input type="submit" value="500Gb" id="load2" />
            </div>
            <a href="#results">results</a>      

        </div>  
    </div>
    <div data-role="footer">
        <h4>Page Footer</h4>
    </div>
</div>
</div>






<div data-role="page" id="results">
    <div data-role="header">
        <h1>Results</h1>
    </div>
    <div data-role="content">

                    <div id="result"  class="functions">

</div>


<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
    $.ajaxSetup ({
        cache: false
    });
    var ajax_load = "<img class='loading' src='img/load.gif' alt='loading...' />";
//  load() functions
    var loadUrl = "load.html";
    $("#load").live("click",function(){
        $("#result").html(ajax_load).load(loadUrl);
    });

</script>


<script type="text/javascript">
    $.ajaxSetup ({
        cache: false
    });
    var ajax_load = "<img class='loading' src='img/load.gif' alt='loading...' />";
//  load() functions
    var loadUrl = "load2.html";
    $("#load_2").live("click",function(){
        $("#result").html(ajax_load).load(loadUrl);
    });

</script>

<a href="#options">Options</a>  
    </div>
    <div data-role="footer">
        <h4>Page Footer</h4>
    </div>
</div>

</body>
</html>
4

2 に答える 2

0

個別のスクリプト タグは独立していません。一方のコードは、他方のコードと対話できます。

両方のブロックで var ajax_load と loadUrl を宣言しました。2 番目のブロックのブロックは、最初のブロックのブロックを上書きします。それらに別の名前を付けるか、それらを削除して文字列値を関数に直接入れます。

于 2012-07-15T20:07:10.417 に答える
0

基本的に、ここにあるすべてのスクリプトを上書きします。使用しないでくださいloadUrl

の場合#load:

$("#load").live("click",function(){
    $('#result').html(ajax_load).load('load.html');
});

そしてのために#load2

$("#load_2").live("click",function(){
    $("#result").html(ajax_load).load(`load2.html`);
});
于 2012-07-15T19:29:03.820 に答える