jquery没有得到隐藏输入的值...返回undefined

时间:2014-05-01 14:06:13

标签: javascript jquery

<input type="hidden" value="pgrOtbU2qq">
<button class="btn btn-primary delete" onclick="deleteEvent()">Delete</button>

function deleteEvent(){
    var id =$(this).siblings('input[type=hidden]').val();
    console.log(id);
}

控制台返回undefined

我用.attr(“value”)尝试了这个但没有任何反应......

编辑:

function deleteEvent(){
    var id =$("button").siblings('input[type=hidden]').val();
    console.log(id);
}

2 个答案:

答案 0 :(得分:3)

您需要将this传递给您的函数以获取对当前点击元素的引用:

<button class="btn btn-primary delete" onclick="deleteEvent(this)">Delete</button>

并使用:

function deleteEvent(el){
    var id = $(el).siblings('input[type=hidden]').val();
    console.log(id);
} 

<强> Fiddle Demo

答案 1 :(得分:3)

由于您使用的是jQuery,我认为这可能是一种更好的方法

HTML

<input type="hidden" value="pgrOtbU2qq">
<button class="btn btn-primary delete">Delete</button>

的JavaScript

$('button.delete').click(function(){
    var id = $(this).siblings('input[type=hidden]').val();
    alert(id);
});

FIDDLE