【问题标题】:Change checkbox status based on textbox value根据文本框值更改复选框状态
【发布时间】:2013-02-17 10:07:04
【问题描述】:

我的网站中有一个表单,并且我的表单中有一个只读文本框。此文本框将从 URL 动态获取其值(A、B、C 或 D)。 然后我在这个文本框下面有一些复选框。 我想要的是根据该文本框的值更改这些复选框的状态。

例如,如果 textbox1 的值为 A,则 checkbox1、checkbox3 和 checkbox6 被选中。 我试过这样的东西,但没有用:

$("#textbox1").change(function(){
    var txt1=$("#textbox1").val();
        if(txt1=='A'){
        $(":checkbox[name='checkbox1']").prop('checked',true);
            $(":checkbox[name='checkbox3']").prop('checked',true);
        $(":checkbox[name='checkbox6']").prop('checked',true);
        }
        else {
        //nothing
      }
      });

谢谢。

【问题讨论】:

  • 您如何检测到文本框值已更改?你参加了什么活动?
  • scartag 说什么,你需要先告诉我们你是如何更改#textbox1 中的值的!
  • 亲爱的 Scartag,我正在使用$("#textbox1").change(function(){。 (文本框是否正确?)实际上我在 wordpress 中使用带有动态文本扩展名的联系表格 7。
  • 如果您以编程方式更改值,那将不起作用,因为它是只读的,您可能是。您需要在以编程方式设置文本字段值的同时设置复选框。
  • 我什至会添加一个 FIDDLE 来演示,因为使用 javascipt 更改文本框的值不会触发更改事件,并且您可以更改只读值的唯一方法文本框带有 javascript。您需要触发更改事件或以不同的方式执行。

标签: javascript jquery input checkbox textbox


【解决方案1】:

您需要对文本框使用更改事件,然后评估要检查的复选框。 像这样:

$(function(){
    $("#myTextbox").on("change",function(){
        var $Textbox = $(this);
        var NewCheckbox;
        switch ($Textbox.val()){
            case "A":
                NewCheckbox = $("#checkboxA");
                break;
            case "B":
                NewCheckbox = $("#checkboxB");
                break;
            case "C":
                NewCheckbox = $("#checkboxC");
                break;
        }
        $("#checkboxA").attr('checked',false);
        $("#checkboxB").attr('checked',false);
        $("#checkboxC").attr('checked',false);

        NewCheckbox.attr('checked',true);
    });
});

【讨论】:

  • 可能不是,这只是习惯
猜你喜欢
  • 1970-01-01
  • 2018-12-06
  • 1970-01-01
  • 2023-03-18
  • 1970-01-01
  • 2019-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多