我有一个由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 »</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
});
非常感谢。
答案 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();
你提供它的方式,模态完全独立于你需要设置某个地方以实现你想要的东西的链接。