jquery ui buttonset选择一个选中的单选按钮

时间:2012-02-06 12:24:48

标签: javascript jquery jquery-ui

我需要根据用户选择的按钮

更新隐藏字段

代码:

<div id="bankRadioButtons">
<table>
  <tr><td><input type="radio" id="Bank1" name="bankRadioButtons" /><label for="Bank1">Bank1</label></td></tr>
  <tr><td><input type="radio" id="Bank2" name="bankRadioButtons" /><label for="Bank2">Bank2</label></td></tr>
  <tr><td><input type="radio" id="Bank3" name="bankRadioButtons" /><label for="Bank3">Bank3</label></td></tr>
</table>
</div>
<input type="hidden" name="selectedBank" value="" />

Javascript代码:

$("#bankRadioButtons").buttonset();
$("#bankRadioButtons").buttonset().bind('click', function(event) {
  // I need to write code here to update the hidden field 'selectedBank' based on user selected bank radio button

}

3 个答案:

答案 0 :(得分:4)

描述

将您的单选按钮设为value,然后您可以使用jQuery的change()val()方法。

  

jQuery.change()将事件处理程序绑定到“更改”JavaScript事件,或在元素上触发该事件。

     

jQuery.val()获取匹配元素集中第一个元素的当前值。

查看我的示例和此jsFiddle Demonstration

示例

<div id="bankRadioButtons">
<table>
  <tr><td><input type="radio" id="Bank1" value="Bank1" name="bankRadioButtons" /><label for="Bank1">Bank1</label></td></tr>
  <tr><td><input type="radio" id="Bank2" value="Bank2" name="bankRadioButtons" /><label for="Bank2">Bank2</label></td></tr>
  <tr><td><input type="radio" id="Bank3" value="Bank3" name="bankRadioButtons" /><label for="Bank3">Bank3</label></td></tr>
</table>
</div>
<input type="hidden" name="selectedBank" value="" />

$("input[type='radio'][name='bankRadioButtons']").change(function(event) {
    $("input[type='hidden'][name='selectedBank']").val($(this).val());
});

更多信息

更新

以下会有更好的表现。在html中使用classid属性。

<div id="bankRadioButtons">
<table>
  <tr><td><input type="radio" id="Bank1" value="Bank1" name="bankRadioButtons" class="bankRadioButtons" /><label for="Bank1">Bank1</label></td></tr>
  <tr><td><input type="radio" id="Bank2" value="Bank2" name="bankRadioButtons" class="bankRadioButtons"/><label for="Bank2">Bank2</label></td></tr>
  <tr><td><input type="radio" id="Bank3" value="Bank3" name="bankRadioButtons" class="bankRadioButtons"/><label for="Bank3">Bank3</label></td></tr>
</table>
</div>
<input type="hidden" name="selectedBank" id="selectedBank" value="" />

$(".bankRadioButtons").change(function(event) {
    $("#selectedBank").val($(this).val());
});

更新了jsFiddle

答案 1 :(得分:2)

你可以这样做:

$("#bankRadioButtons").buttonset();
$("#bankRadioButtons").buttonset().bind('click', function(event) {
 switch(this.id)
    {
      case "Bank1" : $("#selectedBank").val("Bank1"); 
       break;  // and then case "Bank2" etc.
    }

}

答案 2 :(得分:1)

试试这个:

var value = $("input[@name=bankRadioButtons]:checked").val();
$("input[@name=selectedBank]").val(value);

祝你好运!

相关问题