jquery - 根据单选按钮选择显示表单字段

标签 jquery forms

我有一个表单,我只需要根据顶部单选按钮的选择来显示某些选项。由于某种原因它无法正常工作。有任何想法吗?下面是jsfiddle。如果需要进一步解释,请告诉我,谢谢!

http://jsfiddle.net/jmL7w2ed/

$('#choose-one').change(function () {
   if ($('#choose-one:checked').val() == 'Sold') {
        $('.resultDetail').hide();
        $('.resultDetail.sold').show();
    } else if ($('#choose-one:checked').val() == 'Not Demoed') {
        $('.resultDetail').hide();
        $('.resultDetail.notDemoed').show();
    } else if ($('#choose-one:checked').val() == 'Not Sold') {
        $('.resultDetail').hide();
        $('.resultDetail.notSold').show();
    }
});

最佳答案

您的选择基于 ID,因此它始终选择第一个 radio 。

最好根据 radio 名称选择 radio ,如下所示:

$('input[type=radio][name=choose-one]')

您可以使用 $(this).val() 访问该值,而不用再次选择一个集合。

 $('input[type=radio][name=choose-one]').change(function () {
        //console.log($(this).val());

        var value = $(this).val();

        if (value == 'Sold') {
            $('.resultDetail').slideUp('500');
            $('.resultDetail.sold').slideDown('500');
        } else if (value == 'Not Demoed') {
            $('.resultDetail').slideUp('500');
            $('.resultDetail.notDemoed').slideDown('500');
        } else if (value == 'Not Sold') {
            $('.resultDetail').slideUp('500');
            $('.resultDetail.notSold').slideDown('500');
        } else if (value == 'Demoed') {
            $('.resultDetail').slideUp('500');
            $('.resultDetail.notSold').slideDown('500');
        }
    });

这是一个Working Fiddle

关于jquery - 根据单选按钮选择显示表单字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32503678/

相关文章:

javascript - Jquery 附加/前置 svg 并查找子元素

php - JQuery - 摆脱 .serialize() 中的 %5B%5D

html - 单击按钮时,我的本地 C 驱动器正在打开

javascript - 无法使用 JS 循环获取选定选项

javascript - 在提交表单之前进行ajax请求,并在ajax完成后提交数据

C# 如何从我的用户控件访问主窗体上的 setter 方法?

javascript - phantomjs 可以与 node.js 一起使用吗?

javascript - jQuery:根据另一个属性值对对象属性进行分组

javascript - 如何使用带有 JSON 的 Flickr API 获取特定用户好友图标?

javascript - 不带参数调用 jQuery 的 ajaxSetup 有副作用吗?