我有这个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'?
答案 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();