获取Meteor中twitter bootstrap单选按钮组的价值

时间:2013-08-07 11:49:20

标签: javascript twitter-bootstrap radio-button meteor

我知道围绕此问题涉及很多主题,但不幸的是,我无法找到有效的解决方案。所以这是我的问题。

我有一个带有以下按钮组的流星模板:

<template name="test">
 <form class="form-horizontal" id="search_form">
 <fieldset>
  <div class="form-actions">

    <div class="btn-group" data-toggle="buttons-radio" id="my_radiogroup">
      <button type="radio" class="btn my_button" name="knop" value="1">OR</button>
      <button type="radio" class="btn my_button" name="knop" value="2">AND</button>
    </div>

   </div>
  </fieldset>
 </form>
</template>

现在我想获取所选单选按钮的值(OR或AND)。因此,我根据我在网络和Stack上找到的内容尝试了以下解决方案:

第一个解决方案:

Template.test.events({
 'click #my_radiogroup' : function(e,t) {
 var element = t.find('button:radio[name=knop]:checked'); 
 alert($(element).val());
}
});

第二个解决方案(基于来自twitter bootstrap的活动类):

Template.test.events({
 'click #my_radiogroup' : function(e,t) {
 var element = t.find("#my_button.active").value;
 alert(element);
}
});

我在模板中尝试了第三种解决方案:

<input type="hidden" id="alignment" value="" />  
<div class="btn-group alignment" data-toggle="buttons-radio">
 <button type="button" class="btn">OR</button>
 <button type="button" class="btn">AND</button>
</div>

在我的* .js文件中使用此代码:

Template.test.events({
 'click #alignment.btn' : function(e,t) {
 var element = val(this.text());
 alert(element);
 return false;
}
});

然而,这些解决方案都不起作用。谁想要我如何获得所选放射性按钮的值?

感谢。

2 个答案:

答案 0 :(得分:2)

在上一个示例中,您尝试使用id #alignment和.btn类来定位一个不存在的元素。

此外,我不知道你从哪里得到“t”,因为只有event map传递给event(“e”)。

此代码应该有效(不测试)。

Template.test.events({
  'click .btn' : function(e) {
    var clickedButton = e.currentTarget;
    alert( $(clickedButton).val() );
  }
});

答案 1 :(得分:1)

你可以试试这个..

alert($('.btn-group > .btn.active').attr("value"));