我有一个如下所示的循环:
<?
$i=1;
while ($u=mysql_fetch_array($result1)){
?>
<table>
<tr>
<td>Sport</td>
</tr>
<tr>
<td><?php echo $u['sport_id'];?></td>
<td>
<a id="modal_window" href="#" rel="open">Make Question</a>
</td>
</tr>
<?php
$i++;
}
?>
</table>
当有人点击“Make Question”时,会打开以下模态窗口:
<div id="mascara"></div>
<div id="ventana">
<a class="ventanatitulo" href="#" rel="close">Close Window</a>
<h2>Write your question:</h2><br/>
<form>
<input type="text" id="question"/>
<br />
</form>
<a href="#" onClick="ajax_question();"/>Send question</a>
</div>
我想做的是,每当有人点击“Make Question”时,将一个变量捕获到模态窗口上写的问题(没有问题),以及点击的sport_id(I不知道怎么做!!)
这是模态窗口的代码:
$(document).ready(function(e) {
$('a[rel="open"]').click(function(e) {
e.preventDefault();
var ancho = $(window).width();
var alto = $(document).height();
var mascara = $("#mascara");
var ventana = $("#ventana");
mascara.css({
"width" : ancho,
"height" : alto
});
mascara.fadeIn("fast", function() {
ventana.css({
"top" : (alto / 3) - (ventana.height() / 2),
"left" : (ancho / 2) - (ventana.width() / 2)
});
ventana.fadeIn("fast");
});
});
$("a[rel='close']").click(function(e) {
e.preventDefault();
$("#ventana").fadeOut("fast", function() {
$("#mascara").fadeOut("fast");
});
});
});
最后这是我想要捕获所有变量并将它们发送到page1.php的代码:
function ajax_question(){
var question=$('#question').val(); //WRITTED QUESTION IS CAPTURED WITHOUT PROBLEM!
var sport_id= //HOW DO I CAPTURE THE SPORT_ID THAT WAS CLICKED?
$.ajax({
url:'page1.php',
type:'POST',
dataType:'text/html',
data:'question='+question + '&sport_id='+sport_id,
success: function(return){
some code...
}
});
}
我希望你明白我在做什么。 提前感谢任何可以帮助我的人!
答案 0 :(得分:0)
您只需要使用jQuery获取之前的兄弟,从<td>SPORT ID</td>
子句中获取Sport ID值并将其作为参数提供给打开的窗口,该窗口将其存储在hidden input field
中。
以下是示例代码:
$(document).ready(function(e) {
$('a[rel="open"]').click(function(e) {
e.preventDefault();
var tmp_sport_id = $(this).parent().prev().text();
alert(tmp_sport_id);
});
});
重要提示:
在循环中使用<a id="modal_window" href="#" rel="open">Make Question</a>
等元素ID时,应注意ID 唯一。您不能两次使用相同的ID。将其更改为class="modal_window"
。