【问题标题】:Loading Page Fragments with .load() excludes embeded javascript使用 .load() 加载页面片段不包括嵌入的 javascript
【发布时间】:2011-05-25 04:42:30
【问题描述】:

我有一个使用 .load() 方法加载的表单。

$(function() {
    $('#items,#button-search').hide();
    $("#companies").click(function() { 
        $(this).attr("value",""); 
        $('#address,#new-company-form').empty();
    });
    $( "#companies" ).autocomplete({
        source: ";companies",
        minLength: 2,
        select: function( event, ui ) {
            if(ui.item.id == "create-new-company") {
                // call the new company form
                $('#address').empty();
                $('#new-company-form').load(';company_form #autoform');
            }
            else
            {
                $('#new-company-form').empty();
                $.ajax({
                    type: 'GET',
                    url: ';addresses?company=' + ui.item.id,
                    dataType: 'json',
                    // process the addresses
                    success: function(json) {
                        var opts = '';
                        $.each(json, function(k, v) {
                            opts += '<option>' + v + '</option>';
                        });
                        $('#address').html('<select>' + opts + '</select>');
                    }
                }); //end ajax call to address
            }
        } // end select address
    }); // end autocomplete
}); // end function

在第 15 行,我有

$('#new-company-form').load(';company_form #autoform');

如果我删除#autoform,则 ;company_form html 中的 javascript 可以工作,否则不会加载。

如何让它工作?

谢谢

【问题讨论】:

标签: jquery load parameter-passing


【解决方案1】:

.load()方法的第一个参数是url。您在这里需要的网址可能只是;company_form。你想通过在url中传递#autoform来实现什么?

如果它在没有#autoform 的情况下也能工作,那你为什么不干脆删除它呢?

【讨论】:

  • 我需要#autoform,因为我不想加载整个模板页面
【解决方案2】:

是的,他只想加载页面片段。第一个参数确实是 url,所以只需输入 'company_form' 所在页面的名称,然后添加您想要的片段。所以它应该看起来像这样......

$('#new-company-form').load('company_form.php #autoform');

我想唯一的变化是添加扩展名到 'company_form'

【讨论】:

  • 是的,我知道。我的问题是我在#autoform 片段中拥有的任何 javascript 在通过 .load() 调用时都不起作用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-16
  • 1970-01-01
  • 2012-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多