我有一个单选按钮列表,每个按钮都具有相同的name
属性。以下JavaScript旨在检测任何按钮中的更改,并将所选值传递给getColumnNames()
方法。
$("input[name=SelectedSheet]:radio").change(function () {
getColumnNames(this.val());
})
它会检测任何按钮何时更改,但不会传递所选单选按钮的字符串值。
在Firebug中,当单击其中一个单选按钮时,this
关键字包含以下内容:
input#SelectedSheet_Second Sheet attribute value = "Second Sheet"
顺便说一下,SelectedSheet
是单选按钮列表的name
属性。
如何将所选属性的值传递给getColumnNames()
方法?
答案 0 :(得分:3)
.val()
是一个jQuery方法,所以你必须用this
包裹$()
来使用它:
getColumnNames($(this).val());
或者你可以使用普通的JS:
getColumnNames(this.value);
答案 1 :(得分:1)
您可以删除:radio,因为它会通过名称找到它。然后使用$(this).val()代替
<input type="radio" name="SelectedSheet" value="sheet1" />
<input type="radio" name="SelectedSheet" value="sheet2" />
<input type="radio" name="SelectedSheet" value="sheet3" />
$(document).ready(function () {
$('input[name="SelectedSheet"]').change(function () {
alert($(this).val());
});
});
答案 2 :(得分:0)
尝试在代码中使用$(this).val();
。
$("input[name=SelectedSheet]:radio").change(function () {
getColumnNames($(this).val());
})