Jquery contents()。从ajax调用问题中找到更改attar

时间:2014-02-24 14:55:59

标签: jquery

嘿伙计我有问题,我希望我能解释一下,这样我才能找到解决方案。所以我有一个名为editor.php的页面,它使用Jquery

来提取这样的页面
    $(function() {
        $("#editor_test").load("test.php?vfID=<?php echo $_GET['id']; ?>"); 
    });

然后显示在div

    <div id="editor_test"></div>

在test.php页面中,我有一个div区域,用于保存数据库中的信息,旁边的信息是一个编辑按钮

    <img src="images/btn_edit.gif" border="0" id="SL_editButton1" class="editButton" />

我想要做的是在单击编辑按钮后将该按钮更改为其他按钮。 id是动态的,所以editor.php知道要影响哪个区域。我试过这样做......

    function doSLoad(){         
        $("#editor_test").contents().find("#SL_editButton<?php echo $sl_result['id']; ?>").attr('src',('images/btn_edit_b.gif'));
    }

我尝试在DOM上运行doSLoad,它会更改按钮,我在一个不同的函数中触发它,更新了test.php中的div区域。

    $("#ubTitle").keyup(sl_update);

ubTitle是editor.php页面中的字段名称,允许您更新文本。就像StackOverflow正在做的那样,我在...中输入它。

一旦你对每个键盘进行了更改,就会运行

function sl_update(){       
    var ubTitle = $("#ubTitle").val();
    $("#vf_editor").contents().find("#Title<?php echo $sl_result['orderid']; ?>").html(ubTitle);
    doSLoad();
}

如果我在keyup上触发doSLoad,图像会发生变化,一切都很好,但是我想在页面加载后更改,而不是在我开始进行更改时,我尝试了各种方法

$(document).ready(function(){
    doSLoad();
})

这不起作用,我试着在焦点上做,并强制关注文本字段,

 $("#ubTitle").focus(sl_update);

它不起作用。

感谢所有人,非常感谢任何有助于让这张图片更改卸载的帮助。

2 个答案:

答案 0 :(得分:1)

  

我想要做的是在点击编辑按钮后将该按钮更改为其他按钮。

你有多个按钮,但它们都有一个独特的类,所以这段代码应该按照我上面的引用作为你的目标:

$('#editor_test').on('click', '.editButton', function(e) {
    $(this).attr('src', 'images/btn_edit_b.gif');
});

答案 1 :(得分:0)

在jquery load 函数中,您可以添加一个回调来通知页面已加载。

$("#div").load("url",function(data){
      //page loaded
});