我希望在点击按钮时获得隐藏价值。它给了我未定义。任何帮助都会被欣赏。添加 js小提琴来回答将更有帮助使用我的码。
html代码
<form method="POST" action="#">
<input type="hidden" name="carid" class="carid" value="10">
<input type="button" name="transfer" id="transfer" class="btn btn-default" onclick="transfercars()" style="margin-top:22px;" value="transfer">
</form>
在jquery我有
function transfercars() {
var carid = $(this).parent().find("input[type='hidden']").val();
console.log(carid);
var carid = $(this).prev('.carid').val();
console.log(carid);
}
答案 0 :(得分:2)
你可以这样做。
<form method="POST" action="#">
<input type="hidden" name="carid" class="carid" value="10">
<input type="button" name="transfer" id="transfer" class="btn btn-default" style="margin-top:22px;" value="transfer">
</form>
$("#transfer").on("click", function () {
var carid = $(this).parent().find("input[type='hidden']").val();
console.log(carid);
var carid = $(this).prev('.carid').val();
console.log(carid);
});
答案 1 :(得分:0)
当您在''.join( 3. )
使用this
时,this
会引用window
。
你想要这样的东西:
(function(){
document.getElementById("transfer").onclick = function() {
var val = this.previousElementSibling.value;
console.log(val);
}
})();
可以在JavaScript中轻松完成,不需要jQuery:)
对于多种表单,您可以执行此操作。
(function(){
var el = document.getElementsByClassName('btn-default');
for (var i=0;i<el.length; i++) {
el[i].onclick = function() {
var val = this.previousElementSibling.value;
console.log(val);
}
}
})();
您需要将id=
更改为class=
,或者只为所有input type='button'
创建一个新课程。
答案 2 :(得分:0)
你可以为此命名。而不是onclick属性,我会绑定一个函数。
HTML:
<form method="POST" action="#">
<input type="hidden" name="carid" class="carid" value="10">
<input type="button" name="transfer" id="transfer" class="btn btn-default" style="margin-top:22px;" value="transfer">
</form>
jQuery的:
$('[name="transfer"]').on('click', function() {
var carid = $('name=["carid"]').val();
console.log( carid );
});