每次用户检查单选按钮时,我想更改隐藏输入字段的值。
这就是我的HTML的样子。
<input type="hidden" id="ZAAL_NAME" value="" name="ZAAL_NAME" />
<input type="radio" name="zaal_ID" value="ROOM1" onclick="change">
<input type="radio" name="zaal_ID" value="ROOM2" onclick="change">
<input type="radio" name="zaal_ID" value="ROOM3" onclick="change">
现在我希望每次检查单选按钮时,该单选按钮的值也会变为隐藏输入字段的值。有谁知道怎么做?这是我到目前为止所拥有的。
$('input[name="radbut"]').click(function() {
console.log(this.value);
$('ZAAL_NAME').val(this.value);
});
有人可以帮忙吗?
亲切的问候,
Steaphann
答案 0 :(得分:6)
您的内联onclick
处理程序无效,因为您没有包括括号:它需要onclick="change()"
来实际调用您的函数。但是您应该将其更改为onclick="change(this);"
以将对单击按钮的引用传递给您的函数,然后:
function change(el){
$("#ZAAL_NAME").val(el.value) ;
}
此外,您的jQuery选择器需要#来按ID选择。
更好的方法是从标记中删除内联onclick
并按照以下方式执行:
$('input[name="zaal_ID"]').click(function() {
$('#ZAAL_NAME').val(this.value);
});
后者需要位于文档就绪处理程序和/或页面源中单选按钮后出现的脚本块中。
注意:获取点击元素的值时,您可以说$(el).val()
或$(this).val()
(取决于您正在查看的两个函数中的哪一个),但考虑到el
和this
是对DOM元素的引用,您可以直接使用el.value
或this.value
获取其value属性。
答案 1 :(得分:4)
$('input[name="zaal_ID"]').change(function(){
$('#ZAAL_NAME').val( this.value );
})
答案 2 :(得分:1)
function change(){
$("ZAAL_NAME").val( $(this).val() ) ;
}
或
function change(){
$("ZAAL_NAME").val($("input[type='radio']:checked").val()) ;
}
答案 3 :(得分:1)
尝试 -
$(':radio').change(function(){
$('#ZAAL_NAME').val($(this).val());
})
答案 4 :(得分:1)
使用onclick="change(this.value);"
,函数就像这样使用
function change(e){
$("ZAAL_NAME").val(e) ;
}
答案 5 :(得分:0)
您可以使用
$("input:radio[name=ZAAL_NAME]").click(function() {
var value = $(this).val();
// or $('input:radio[name=theme]:checked').val();
$("#ZAAL_NAME").val(value);
});
简而言之
$("input:radio[name=ZAAL_NAME]").click(function() {
$("#ZAAL_NAME").val( $(this).val() );
});