0

ブートストラップで構成可能なモーダル ウィンドウを構築しようとしています。私の意図は、作成関数の引数によってモーダルを動的に埋めることです。

1 つのパラメーターはヘッダーのタイトル ( titolo)、2 番目 ( messaggio) は HTML またはプレーン テキストのモーダル本文のテキスト、3 番目 ( conferma) は確認ボタン (この関数が存在する場合に作成される) の場合に呼び出される関数です。がクリックされ、forth( callback) は、モーダル ウィンドウが閉じられた場合に呼び出されるコールバック関数です。

残念ながら、私はそれを機能させることができません、私を助けてくれますか?

function apriModal(titolo,messaggio,conferma,callback){
    jQuery.noConflict();
    var re=new RegExp("</?\w+\s+[^>]*>");
    $("#modalHeaderTitle").text(titolo);
    if(messaggio.match(re)){
        $("#modalBodyText").html(messaggio);
    }
    else{
        $("#modalBodyText").html("<p>"+messaggio+"</p>");
    }
    (typeof conferma == 'function') ? $("#modalConfirm").show() : $("#modalConfirm").hide();
    $("#finestraModal").modal('show');
    $("#modalConfirm").click(function(){
        if(conferma){
            $("#finestraModal").modal('hide');
            conferma.apply();
        }
    });
    $("#modalClose").click(function(){
        if(callback){
            callback.apply();
        }
        $("#finestraModal").modal('hide');
    });
}

モーダルの基本的な html は次のとおりです。

<div id="finestraModal" class="modal hide fade">
    <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
        <h3 id="modalHeaderTitle"></h3>
    </div>
    <div class="modal-body" id="modalBodyText">
    </div>
    <div class="modal-footer">
        <a href="#" id="modalClose" class="btn">Chiudi</a>
        <a href="#" id="modalConfirm" class="btn btn-primary">Conferma</a>
    </div>
</div>

JSFiddle

4

1 に答える 1

0

使用しましたが、次のスクリプトでjQuery.noConflict()引き続き使用します。$

function apriModal(titolo,messaggio,conferma,callback){
    jQuery.noConflict();

に変更する必要があります

function apriModal(titolo,messaggio,conferma,callback){
    var $ = jQuery.noConflict(); // or other variable name

他のライブラリを使用する場合jQuery.noConflict()は、私のデモに示すように別の変数に割り当てるか、必要に応じて使用jQueryできます。

参照: http://api.jquery.com/jQuery.noConflict/

実際のデモ: http://jsfiddle.net/indream/X3EnA/1/

于 2013-02-26T18:40:36.890 に答える