gpt4 book ai didi

php - jQuery 如何在弹出窗口后调用当前/正确值

转载 作者:行者123 更新时间:2023-12-01 05:57:28 25 4
gpt4 key购买 nike

基本上,我有一个由 foreach 循环组成的文件列表,除了名称之外,所有文件都具有相同的代码,名称带有每个文件的 file_id 。我的问题是,当我添加点击弹出事件时,我失去了获取当前 $(".flag") 属性名称的能力。有没有一种方法可以让我一路传递它,以便我最终可以使用它?

PHP:(用户看到可以单击的链接...请记住,foreach 循环会产生其中几个链接。我将展示一个示例)

echo "<td><a href='#' class='flag' name='$files[id]' >Click Here</a>  ( $files[nums] )</td>";

jQuery:(点击就会发生)

$(".flag").live('click', function() {
$(".pop").show("slow");
return false;
});

HTML:此 div 将弹出

<div class="pop">
<form method="post" id="new_folder" >
<p><label for="folder">Reason for Reporting?</label><textarea id="report_reason" name="report_reason" maxlenght="100" style="resize:none" cols="30" rows="5">Please limit your response to 100 characters.</textarea></p>
<p><input type="submit" value="Submit" id="message_submit"/> or <a class="close" href="/">Cancel</a></p>
</form>
</div>

jQuery:提交时我需要通过 ajax 发送当前的 $files['id'] 和 textarea 值。 textarea 发送了正确的数据,但是 $(".flag") 不是所选链接的 id,而是从 foreach 循环中第一个获取的 id

$("#message_submit").on("click", function(e){
var fileID = $(".flag").attr("name");
var text = $("#report_reason").val();
$(".pop").hide("slow");

$.ajax({
url: '<?php echo base_url().'home/report_file';?>',
type: 'POST',
data: { val: fileID, val2: text },
dataType: 'json',
success: function(output_string){
$(".success").text("You have flagged this file!!").show().css({"color" : "green", "margin-top" : "10px"});
$(".success").fadeOut(10000);
}
});
return false;
});

最佳答案

您可以保存正在单击.flag链接,并在以后使用它。

var flagClicked;

$(".flag").live('click', function() {
$(".pop").show("slow");
flagClicked = $(this);
return false;
});

$("#message_submit").on("click", function(e){
var fileID = flagClicked.attr("name");
....

关于php - jQuery 如何在弹出窗口后调用当前/正确值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14029471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com