首页 文章

使用单选按钮传递状态和值?

提问于
浏览
-1

我正在为单选按钮编写代码,其中有3个单选按钮,如YES,NO和ALL . 我为所有3使用相同的类名,并为它们绑定一个值 . 如果用户点击其中一个Am能够在onclick事件上传递相应的值,但我的问题是如何知道用户是否点击了三个按钮中的哪个Radion按钮,就像用户点击'All'单选按钮我要执行某些类型的操作,如果用户点击“是”选项然后执行一些不同的操作等,如何知道用户点击哪个单选按钮?我的代码如下:

<input type="radio" name="select_option" class="select_option" value="<?=$row_id;?>">All
<input type="radio" name="select_option" class="select_option" value="<?=$row_id;?>">Yes
<input type="radio" name="select_option" class="select_option" value="<?=$row_id;?>">No

我需要单选按钮值以及用户点击哪个单选按钮 . 怎么实现这个?任何人都可以指导我 .

4 回答

  • 0

    请在输入框中添加一个额外的参数来存储'id',如下所示:

    <input type="radio" name="select_option" class="select_option" value="all" data-id="<?=$row_id;?>">All
    <input type="radio" name="select_option" class="select_option" value="yes" data-id="<?=$row_id;?>">Yes
    <input type="radio" name="select_option" class="select_option" value="no" data-id="<?=$row_id;?>">No
    

    现在,这是检查单选按钮后将运行的脚本:

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script>
    $(document).ready(function() {
        $('.select_option').click(function() {
            if ($(this).prop('checked')) {
                var id = $(this).data('id');
                var value = $(this).val();
            }
           alert(value);
        });
    });
    </script>
    

    我希望,这可能对你有用 .

  • 1

    我在这些html元素中添加了我的类名(all,yes,no)

    <input type="radio" name="select_option" class="select_option all" value="<?=$row_id;?>">All
    <input type="radio" name="select_option" class="select_option yes" value="<?=$row_id;?>">Yes
    <input type="radio" name="select_option" class="select_option no" value="<?=$row_id;?>">No
    

    使用jQuery

    $(document).ready(function(){
      $("input:radio").click(function(e){
    
            if($(this).hasClass("all"))
            {
                    console.log("which button -> all");
                    console.log("value="+$(this).val());
            }
            else if($(this).hasClass("yes"))
            {
                    console.log("which button -> yes");
                    console.log("value="+$(this).val());
            }
            else if($(this).hasClass("no"))
            {
                    console.log("which button -> no");
                    console.log("value="+$(this).val());
            }
      });
    });
    

    FIDDLE

  • 0

    试试这个

    $(".select_option").change(function(){
            var radioValue = $("input[name='select_option']:checked").val();
            if(radioValue){
                alert("Your are clicked - " + radioValue);
            }
        });
    
  • 0
    $(".select_option").change(function () {
        if ($(this).is(":checked")) {
            var value = $(this).val();
            console.log(value);
        }
    });
    

    fiddle

相关问题