0

我有这个 jQuery 脚本:

$('a.manage-content-link').click(function (e) {
var self = $(this),
    file = self.siblings('input[type="hidden.block-hidden-input"]').val();
var username = $("username").val();
var ids = $(this).attr('id'); 
self.next(".manage-content-wrap").find(".manage-content").load("test1.php?id="+ids+"&file="+file);
e.preventDefault();
});

和这个 HTML 标签:

<li><input type="hidden" value="001" class="block-hidden-input" />
    <a href="#" id="manage-1" class="manage-content-link">
        <img src="images/web-block/web-block1.jpg"/>
        <span class="orange-notice">Click to Edit Content</span>    
    </a>
</li>

在 test1.php 中,我有这个:

<?php
$file = $_GET['file'];
$id = $_GET['id'];

echo $file ."<br>";
echo $id ."<br>";
echo "Hello World";
?>

这是我得到的输出:

undefined >> should be 001
manage-1
Hello World

为什么该脚本无法获取输入值(在本例中为:001),但它成功地从 href 的 ID 中获取了“ids”?

4

3 回答 3

4

您的选择器有点混乱:

self.siblings('input[type="hidden.block-hidden-input"]').val();
                               ^^^^^

试试这个:

self.siblings('input[type="hidden"].block-hidden-input').val();

另外,你确定你有<username>元素吗?

var username = $("username").val();
于 2012-10-19T05:52:22.257 回答
2

这条线错了,

file = self.siblings('input[type="hidden.block-hidden-input"]').val();

它应该是

file = self.siblings('input[type="hidden"].block-hidden-input').val();

于 2012-10-19T05:52:40.597 回答
0

应该

file = self.siblings('input[type="hidden"].block-hidden-input').val();
于 2012-10-19T05:57:44.877 回答