0

首先,当我将我的数据和代码附加到包装器中时,它不会显示非常特殊的代码。当我用 Visual Studios 快速观看时。然后最后它根本不会显示模态。

代码:

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.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 回答