jQuery无法获取HTML输入值

时间:2012-10-19 05:48:54

标签: jquery

我有这个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'?

3 个答案:

答案 0 :(得分:4)

你的选择器搞砸了一点:

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

试试这个:

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

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

var username = $("username").val();

答案 1 :(得分:2)

这一行错了,

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

应该是

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

答案 2 :(得分:0)

应该是

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