【问题标题】:Making a function affect a element in another page使函数影响另一个页面中的元素
【发布时间】:2014-07-15 17:44:33
【问题描述】:

我创建了一个函数,该函数因页面中缺少更好的单词而被调用,我们将其称为 Page1,当单击按钮时调用该函数,在所述函数结束时它调用另一个创建(或应该看到我无法测试它)一个html并将其附加到一个带有#lista id的div。

问题是这个 div 是另一个页面(Page2),所以我不知道是否有一些语法,比如在 ajax 中你指定你希望这些值去哪里,所以基本上第 1 页调用一个函数(在另一个文件以防万一)该函数调用另一个,并且该函数的结果在第1页(另一个文件,以防万一)

这是我的 jQuery/JS 代码来进一步说明:

$("#btnAceptar").click(function() {
   var idlab = $('#txtNumLab').val(),
   capacidad = $('#txtCapacidad').val(),
   carrera = $('#txtCarrera').val(),
   ubicacion = $('#txtUbicacion').val();


  var request = $.ajax({
    url: "includes/functionsLabs.php",
    type: "post",
    data: {

     'call': 'addLab',
     'pIdLab':idlab,
     'pCapacidad':capacidad,
     'pCarrera':carrera,
     'pUbicacion':ubicacion},

    dataType: 'json',

      success: function(response){
        alert('exito')

    agregar();        

     }
  });
});

此函数应影响第 2 页上 ID 为 #Lista 的元素。

function agregar(){

 var div = $( "#lista" ).append( "<div class='box'>
          <p>Lab #'numero'</p>                                  
          <p class='info'><a href='#' id='lnkInfo'>Info</p></a>
          <p class='info'><a href='reservarLab.html'>Reservar</p></a>
      </div>" );



div.id = querySelectorAll('#lista > div').length +1;
var numero = div.id;  
$('#numero').append(div); 


}

提前非常感谢!

【问题讨论】:

  • 在另一个选项卡/窗口中的另一个页面,或者在用户最终导航到的页面中?
  • @PatrickEvans,另一个页面是另一个文件,该函数在 Page1.php 上调用,第二个函数旨在影响 Page2.php 中的元素。两者都在同一个文件夹中,并且是同一个整体的一部分。
  • @marck,我会去检查它,但我的不是对象而是函数。亚玛利人?
  • 这些方法之一没有理由不适合您。键值存储特别灵活,只要您可以放弃旧的 IE 版本 (caniuse.com/namevalue-storage),您就可以存储您想要的任何东西。例如,您可以让第 1 页设置一个本地值并让第 2 页轮询相同的键/值(它们在同一域上共享存储)以定期更改。然后,检测到的更新可以利用存储中的值触发 DOM 操作。我建议在创造性地思考您的问题的同时阅读 HTML5 中的会话存储。

标签: javascript jquery


【解决方案1】:

是的,您可以使用 jQuery 从另一个页面获取内容:

Ajax 请求获取整个文件,但您可以在检索到内容后对其进行过滤:

$.ajax({
   url:href,
   type:'GET',
   success: function(data){
       $('#content').html(  $(data).find('#IDofDivToFind') );
   }
});

第二种方法(未经测试)

您可以使用 JQuery .load() 方法:

$( "#content" ).load( "ajax/test.html div#content" );

参考:

http://api.jquery.com/load/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-13
    • 1970-01-01
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多