<div class="edit"  id="ruleDiv1" style="display: none;">
       <h4>积分设置</h4>
       <div>
                <p>个人比赛取:&nbsp;
                <select><option selected='selected'>444</option></select>名
                  </div>
       </div>
用这个插件弹出这个层正常,单一旦这个层内的元素存在有js生成的元素时,就不会在页面上弹出,而是在一个空白页面上显示这个层内的内容。
js生成元素的代码:<div class="edit"  id="ruleDiv1" style="display: none;">
       <h4>积分设置</h4>
       <div>
                <p>个人比赛取:&nbsp;
                  <script language="javascript">                   
                   document.write("<select><option selected='selected'>temp</option>");
                  
                   document.write("</select>名");//这个就不能弹出,郁闷。。
                  
                   </script>
                 </div>
       </div>求解决办法~!!(当然可以在服务器端生成了再发过来,那样可以弹出,但不想给服务器那么大压力,只想在browser上生成)

解决方案 »

  1.   

    <div class="edit"  id="ruleDiv1" style="display: none;">
                              <h4>积分设置</h4>
                              <div>
                            <p>个人比赛取:&nbsp;
                              <script language="javascript">                              
                                  document.write("<select><option selected='selected'>temp</option>");
                                  
                                  document.write("</select>名");//这个就不能弹出,郁闷。。
                              
                                  </script>
                            </div>
                          </div>
    何必再这里面还全套js呢,你直接写select标签元素不就行了。至于Jquery Block UI里面全套js,效果失效,我还没遇到过。
      

  2.   

    我要根据服务器数据用js动态生成<select>等等这些元素啊,问题中只是举了一个例子,如果只是要写一个 <select>,当然没有必要用js啦。。郁闷。
      

  3.   

    jquery的弹出层方法本身就是一个ajax,你何不把js生成的下拉框用jquery在调用ajax之前就把这个数组对象读取出来,完了在图层弹出之后,把这个下拉数组对象给赋值到select标签就行了。js加载的先后顺序我自己觉得是很变态
      

  4.   

    var arr = ;//这里可以请求服务器获取下拉框数组对象var url = 'a.html';
    $.get(url, function(data){ $.blockUI({ 
    draggable: false,
    message: data,
    theme:true,
    showOverlay:true, 
    baseZ:1000+1,
    title:"<font style='color: white;'>xxxxx</font>",
    themedCSS: {
    overflow:'hidden',
    draggable: false,
    cursor:'default',
    background: '-webkit-gradient(linear, 0 0, 0 100%, from(#2c2e34) ,   color-stop(50%, #212427), color-stop(100%, #18181c))',
    top: ($(window).height() - 650)/2 + 'px',
    left: ($(".substrate").width() - 400) /2 + 'px',
    width: 530,
    height: 380
    }

        });
    //这里给下拉框对象赋值



    })