0

我有动态jQuery添加的功能,a当我想将此元素用作模式时,我不能,没有任何反应。

当我使用一切添加相同的元素时,php一切正常。

我的猜测是jQuery.modal看不到这个元素,有没有办法解决这个问题?

我的功能如下所示:

$.each(respJSON, function(){
                    $('#poll-questions').append(
                        $('<li>').append(
                            $('<a>').attr('href', prefix + this.id).attr('class', 'modal')
                            .attr('rel', '{handler: "iframe", size:{x:600, y:500}}')
                                .append($('<span>').append(this.question)
                    )));
                });
4

1 回答 1

0

确保您只导入了 1 个 jQuery 库。如果您有超过 1 个,请使用以下代码检查是否已经有一个库正在导入。如果有,不要包括你自己的,如果没有,包括你自己的:

<?php
  // load jQuery, if not loaded before
  if(!JFactory::getApplication()->get('jquery')){
     JFactory::getApplication()->set('jquery',true);
     $document = JFactory::getDocument();
     $document->addScript(JURI::root() . "templates/template_name/js/jquery-1.8.3.js");
  }
?>

显然改变路径,以便满足您的需求。

如果这没有帮助,请确保您已正确添加了 view.html.php 文件的代码,如下所示:

$doc = JFactory::getDocument(); //remove this line if it's already in the file
$js = '$.each(respJSON, function(){
          $("#poll-questions").append(
             $('<li>').append(
                $("<a>").attr("href", prefix + this.id).attr("class", "modal")
                   .attr("rel", "{handler: "iframe", size:{x:600, y:500}}")
                   .append($("<span>").append(this.question)
          ));
       });'
$doc->addScriptDeclaration($js);
于 2013-01-11T17:05:56.243 回答