防止基于 select 框 selection 的单选按钮更改

Preventing radio button changes based on select box selection

我有两个单选按钮 (Yes/No),当某个 select 框 selection 生成时,我试图将其强制为 'No'。这是我的脚本(如下),但它完全禁用了单选按钮并且没有 post 数据到我们的数据库。我怎样才能...

  1. 强制单选按钮 selection 为否?
  2. 禁用将单选按钮从“否”更改为“是”的功能?
  3. 还有post数据到我们的数据库?

    $(function() {
      $('#presence').change(function() {
        var value = $(this).val()
        var invitation = value === 'common' || value === 'frequent'
             $('.radioyesno input').prop('disabled', invitation)
             if (invitation) {
                  $('.radioyesno input:last').prop('checked', true)
             }
      }).change()
    })
    

您的代码似乎存在三个问题:

您使用 $('.radioyn input')$('.radioyesno input:last')。是 .radioyn 还是 .radioyesno

您无缘无故地打电话给 }).change()。那个电话绝对没有任何作用。 .change() 用于在发生变化时绑定监听器。

您实际上没有post进行更新。要 post 它,您需要在表单上调用 .submit(),或在提交按钮上调用 .click()

解决上述 3 个问题后,您应该会达到预期的行为。如果有任何问题,我建议使用 console.log 并将您的代码分成更小的区域进行测试,并确保每一行代码都按照您的预期执行。