首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在更改事件中使用无线电?

如何在更改事件中使用无线电?
EN

Stack Overflow用户
提问于 2012-10-31 15:09:54
回答 11查看 996.4K关注 0票数 566

我在更改事件上有两个单选按钮我想要更改按钮怎么可能?我的代码

代码语言:javascript
运行
复制
<input type="radio" name="bedStatus" id="allot" checked="checked" value="allot">Allot
<input type="radio" name="bedStatus" id="transfer" value="transfer">Transfer

脚本

代码语言:javascript
运行
复制
<script>
    $(document).ready(function () {
        $('input:radio[name=bedStatus]:checked').change(function () {
            if ($("input[name='bedStatus']:checked").val() == 'allot') {
                alert("Allot Thai Gayo Bhai");
            }
            if ($("input[name='bedStatus']:checked").val() == 'transfer') {
                alert("Transfer Thai Gayo");
            }
        });
    });
</script>
EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2012-10-31 15:13:27

您可以使用引用当前input元素的this

代码语言:javascript
运行
复制
$('input[type=radio][name=bedStatus]').change(function() {
    if (this.value == 'allot') {
        alert("Allot Thai Gayo Bhai");
    }
    else if (this.value == 'transfer') {
        alert("Transfer Thai Gayo");
    }
});

http://jsfiddle.net/4gZAT/

请注意,您正在将该值与if语句中的allot进行比较,并且:radio选择器已弃用。

如果您不使用jQuery,可以使用document.querySelectorAllHTMLElement.addEventListener方法:

代码语言:javascript
运行
复制
var radios = document.querySelectorAll('input[type=radio][name="bedStatus"]');

function changeHandler(event) {
   if ( this.value === 'allot' ) {
     console.log('value', 'allot');
   } else if ( this.value === 'transfer' ) {
      console.log('value', 'transfer');
   }  
}

Array.prototype.forEach.call(radios, function(radio) {
   radio.addEventListener('change', changeHandler);
});
票数 1.1K
EN

Stack Overflow用户

发布于 2012-10-31 15:16:11

以上答案的改编。

代码语言:javascript
运行
复制
$('input[type=radio][name=bedStatus]').on('change', function() {
  switch ($(this).val()) {
    case 'allot':
      alert("Allot Thai Gayo Bhai");
      break;
    case 'transfer':
      alert("Transfer Thai Gayo");
      break;
  }
});
代码语言:javascript
运行
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="radio" name="bedStatus" id="allot" checked="checked" value="allot">Allot
<input type="radio" name="bedStatus" id="transfer" value="transfer">Transfer

http://jsfiddle.net/xwYx9

票数 158
EN

Stack Overflow用户

发布于 2015-09-17 17:48:05

一种更简单、更干净的方法是使用一个带有@Ohgodwhy的答案的类

代码语言:javascript
运行
复制
<input ... class="rButton">
<input ... class="rButton">

脚本

代码语言:javascript
运行
复制
​$( ".rButton" ).change(function() {
    switch($(this).val()) {
        case 'allot' :
            alert("Allot Thai Gayo Bhai");
            break;
        case 'transfer' :
            alert("Transfer Thai Gayo");
            break;
    }            
});​
票数 41
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13152927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档