-2

大きな問題があります。新しい div を追加しようとしていますが、うまくいきません。

私の機能は次のとおりです。

jQuery(function($){
    var $meter = $('#analog_meter'), count = 1;
    $('#addanalog').click(function(e){
        e.preventDefault();
        if(count > 2){
            alert("That's enough already!");
            return;
        }
        count ++;

        ($meter.parent()).append($meter.clone());
    });
});

私のアナログメーターをプロットするコードのサンプルは次のとおりです。

<div id="add" style="visibility:hidden;" style="display:inline-block;"><a id="addanalog" href="#" Onclick="add_new_analog();">ADD NEW ANALOG</a></div>

<div id="plot_analog">
    <div id="analog_meter" name="analog_meter">
        <!-- less information --> 
        <div id="content-two" style="visibility:hidden;">
                <div id="chart1"  class="jqplot-target"></div>
                <a id="div-one" href="#" Onclick="mostra1();"><? echo LABEL_MORE_INFORMATION ?></a>&nbsp;&nbsp;  &nbsp;&nbsp;
                <a id="div-two" href="#" Onclick="mostra2();"><? echo LABEL_LESS_INFORMATION ?></a>
        </div>
        <!-- more information -->
        <div id="content-one" style="visibility:hidden;">
            <div id="chart2"  class="jqplot-target"></div>
            <a id="div-one" href="#" Onclick="mostra1();"><? echo LABEL_MORE_INFORMATION ?></a>&nbsp;&nbsp;  &nbsp;&nbsp;
            <a id="div-two" href="#" Onclick="mostra2();"><? echo LABEL_LESS_INFORMATION ?></a>
        </div>
</div>

</div>

何が起きているかというと、ADD NEW ANALOG をクリックするたびに、2 つのアナログ メーターがプロットされます。このような:

私が望むのは、[追加] をクリックしたときに、アナログ メーターを 1 つだけプロットすることです。

4

2 に答える 2

0

に2 つのクリックハンドラを追加しました<a id="addanalog" href="#" Onclick="add_new_analog();">ADD NEW ANALOG</a>

最初にハンドラーをonclickマークアップに追加し、2 つ目は JavaScript ファイルの "codebehind" に追加します。

$('#addanalog').click(function(e){   // register second click handler
     e.preventDefault();
     if(count > 2){
        alert("That's enough already!");
        return;
     }
     count ++;

     ($meter.parent()).append($meter.clone());
 });

そのうちの1つを削除するのが最も簡単な方法だと思います。

于 2013-09-24T11:49:21.943 に答える