0

まず、データとコードをラッパーに追加すると、非常に特殊なコードが表示されません。VisualStudioでこれをすばやく見ると。そして最後に、それはモーダルをまったく表示しません。

コード:

var wrapper = $("<div>");
var data = $("<select>");
data.append('<option value = "17">Asset Name Read Only</option>').append('<option value = "18">Asset Type</option>').append('<option value = "19">Asset Code Read Only</option>').append('<option value = "20">Asset Parent</option>').append('<option value = "21">Asset Parent All</option>').append('<option value = "22">Asset Name Editable</option>').append('<option value = "23">Asset Code Editable</option>')
var code = $("<script>").attr("type", "text/javascript").html('$(".modal select option").click(function(){$(SELECTED_ELEMENT).attr("elType", $(this).val());});');
wrapper.append(data).append(code);
parent.showOverlay();
parent.showModal(wrapper);

上記のステートメント「parent.showModal(wrapper)」は次のとおりです。

function showModal(data){
  $("<div class = 'modal'>").css({
      top: $(window).height() / 2 - $("div.modal").height() / 2,
      left: $(window).width() / 2 - $("div.modal").width() / 2
  }).append(data).fadeIn();
}

モーダルが表示されていないという意味でも、javascriptがラッパーdivに追加されている理由でも、何が起こっているのかよくわかりません。私は何が間違っているのですか?

4

2 に答える 2

0

それを表示するために必要なappendTo( "body")はありません。

スクリプトに関しては、スクリプトを関数に送信しないでください。ただし、HTMLが機能するため、次のようになります。

parent.showModal(wrapper); wrapper.find( "option")。click(function(){//ここにコードを挿入});

于 2012-08-29T19:07:37.183 に答える
0

プラグインを使用して作成する必要があります。ここに簡単なコードがあります

(function($){
    $.fn.modal = function(){
      //append div to body
     $("<div />").appendTo('body').attr("id","modal").css({width: 200, height:120, background-color:'red', position:'absolute', display:'none'});
    win_width = $(window).width(); //get the width of window
    win_height = $(window).height();
    mod_width = $('#modal').width();
    mod_height = $('#modal').height();
    //calculate values to center the modal
    m_top = (win_height / 2) - (mod_height / 2);
    m_left = (win_width / 2) - (mod_width / 2);
    //center modal
    $("#modal").css({top: m_top, left: m_left});
    $("#modal").fadeIn();
    }
})(jQuery);

必ずお電話ください。

<button id = 'button'>CLick me</button> // html button
$('#button').modal(); // call plugin in js
于 2012-08-29T19:37:26.427 に答える