0

我已经设置了一些行,当单击打开时,它将执行数据库更新以将状态设置为打开票证。

但是由于某种原因,我不能带上 master $id 吗?我需要它来做一些其他的事情,并且不想在下一页上进行第二次查询或加入只是为了获取主 ID。

我的查询中有这个(我排除了所有连接代码等):

<?php start query { ?>

<a href="javascript:void(0)" id="<?php echo $cid;?>" onclick="open(id)">Open</a>

<input type="hidden" id="REF<?php echo $cid;?>" value="<?php echo $id;?>">

<?php } // end query ?>

我在我的ajax中有这个:

function open(id) {
var txt = $.ajax({
url: 'actions/open.php',
async: true,
type:'POST',
data:({
cid: id,
lid: $('#REF'+id).val()
}) 
}).success;
alert( cid,id );
setTimeout(function(){window.location.href='view.php?mode=Preview&cid='+id+'&id='+lid;},200);
}

我的问题是它一直告诉我 id 在 firebug 中为空

如果我将其更改为仅获取 cid 并进行测试,它可以正常工作吗?

我已经尝试过document.getElementById但出于某种奇怪的原因没有任何效果?

我的代码有什么问题吗?我错过了什么吗?

在此先感谢 :) 强尼

4

1 回答 1

0

你的意思是让这一行调用open,并传递一个插值变量值?

<a href="javascript:void(0)" id="<?php echo $cid;?>" onclick="open(id)">Open</a>    

会成为

<a href="javascript:void(0)" id="<?php echo $cid;?>" onclick="open(<?php echo $id;?>)">Open</a>

此外,在您的 AJAX 调用中,您似乎正在将一个键为 的对象分配lid$('#REF'+id).val(). 但是,您隐藏的输入标签的 id 为REF<?php echo $cid;?>. 要么传递$CIDto的值open(),要么使输入字段的 id 为REF<?php echo $id;?>

其他注意事项:看起来您正在使用 jQuery 来构建您的 AJAX 调用。您正在指定 a async: true,这是默认选项值。您可以从代码中省略它以获得更好的可读性。查看默认值:http ://api.jquery.com/jQuery.ajax/

于 2012-06-23T02:57:48.313 回答