错误无法调用并从其他JavaScript获取ID

时间:2011-11-18 03:42:28

标签: jquery

我有一个index.php

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<script type="text/javascript" src="script.js"></script>
<?php
<input type="hidden" value="1" />
<input type="submit" id="button" value="submit">
?>
文件script.js中的

我使用:

$(document).ready(function(){
    $('#button').click(function(){
       var id = $(this).find('input:hidden').val();
       alert(id);
       return false;
    });
});
  

当使用srcipt.js从index.php获取id时,结果为“undefined”

4 个答案:

答案 0 :(得分:2)

用户prev

var id = $(this).prev('input:hidden').val();

它在这里工作:http://jsfiddle.net/MNDrg/

答案 1 :(得分:1)

$(this)指的是按钮本身。

如果您需要这样做,可以使用以下代码:

$(document).ready(function(){
    $('#button').click(function(){
        console.log(this);
       var id = $(this).parent().find('input:hidden').val();
       alert(id);
       return false;
    });
});

答案 2 :(得分:1)

$(this).find只会查找嵌套在。

中的元素

如果您需要查找所有输入:隐藏在同一级别,请使用$(this).parent().find('input:hidden')

答案 3 :(得分:0)

假设只有一个隐藏字段,您可以使用$('input:hidden') $(this)在这里并非绝对必要。

如果多于,您可以考虑为每个隐藏字段添加ID并单独引用它。