jQuery检索id并修改其文本

时间:2013-01-06 04:10:25

标签: php javascript jquery

我有一个由php生成的表并实现一个模态,允许用户更改变量$l_id生成的文本;我有一个链接类“eloc”,显示模态div部分。我拦截表单提交ID“renameLocation”并处理输入并禁用默认提交操作。我想修改显示用户重命名的新文本。

我有这个通过迭代数组重复的PHP代码,迭代id为$l

$id_l="\"location_".$l."\"";
echo "<table class=\"add\" border=\"1px\" width=\"100%\">";
echo "<tr class=\"header\"><td class=\"stretch\"><a class=\"eloc\" rel=\"leanModal\" href=\"#modal_location\"><img src=\"images/edit-icon.png\" alt=\"Location\"></a></td><td id=\"".$id_l."\" class=\"location\" colspan=\"6\">Location: ".$row['location']."</td></tr>";

然后我有一个div:

<div id="modal_location" class="modal_prompt">      
    <div class="modal_prompt-ct">           
        <div class="modal_prompt-header">
            <h2>Rename Location</h2>
            <a class="modal_close" href="#"></a>            
        </div>

        <form id="renameLocation">
            <div class="txt-dpy">
                <span id="mlocation_name"></span>
            </div>
            <div class="txt-fld">
                <label for="">Change to</label> 
                <input id="newLocation" name="" type="text" />
            </div>
            <div class="btn-fld">
                <button type="submit">Save &raquo;</button>
            </div>          
        </form>         
    </div>  
</div>

如何修改生成的$ l_id的文本?

$("#renameLocation").submit(function(e) 
{
    $("#lean_overlay").fadeOut(200);
    $("#modal_location").css({"display" : "none" })
    // How to modify the text of "$l_id"?
    return false; //do not submit form the normal way        
});

非常感谢。

2 个答案:

答案 0 :(得分:1)

你可以这样试试 -

$("#<?php echo $l_id?>").html("Your updated text here");

答案 1 :(得分:1)

问题含糊不清。听起来你要编辑多个文本。

您需要一种方法来告诉JS更新哪个位置,以便添加全局变量。你做这件事并不常见,但应该没问题。

向元素添加数据

$id_l="\"location_".$l."\"";
echo "<table class=\"add\" border=\"1px\" width=\"100%\">";
echo "<tr class=\"header\"><td class=\"stretch\"><a class=\"eloc\" rel=\"leanModal\" href=\"#modal_location\" 
    data-location=\"".$l."\"><img src=\"images/edit-icon.png\" alt=\"Location\"></a></td><td id=\"".$id_l."\" class=\"location\" colspan=\"6\">Location: ".$row['location']."</td></tr>";

将此设置在js的顶部

var selectedlocation=0;

绑定单击编辑链接以设置selectedlocation

$('.eloc').on('click', function(){
    selectedlocation=$(this).data('location');
});

在代码中使用var

$("#renameLocation").submit(function(e) 
{
    var location=$(this).data('location');
    $("#lean_overlay").fadeOut(200);
    $("#modal_location").css({"display" : "none" })
    $('#location_'+selectedlocation).text();
    e.preventDefault(); //return false; //do not submit form the normal way        
});

这是另一种方式

忘记全局变量。

添加隐藏的表单字段

<form id="renameLocation">
    <input type="hidden" name="location" value="" id="renameLocation_location"/>

将值放在

$('.eloc').on('click', function(){
    $('#renameLocation_location').val($(this).data('location'));
});

并使用它。

$('#location_'+ $('#renameLocation_location').val() ).text();

你提供它的方式,模态完全独立于你需要设置某个地方以实现你想要的东西的链接。