2012-10-19 56 views
0

我有这样的jQuery脚本:的jQuery未能获得HTML输入值

$('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

你选择弄乱一点:

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

试试这个来代替:

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

而且,你肯定有一个<username>元素?

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

+1,我增加了另一个修复 – gdoron

+0

@gdoron:谢谢,我错过了那一个。 – Blender

+0

用户名只是一个PHP变量的例子。我没有使用它... –

2

此行是错误的,

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

应该

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

0

应该

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