javascript - html 元素在单选按钮列表中不起作用

标签 javascript jquery html asp.net radiobuttonlist

我有单选按钮列表,并且在其项目列表之一中有 html 输入 type="text"。

当我选择带有输入文本字段的选项,然后单击文本字段时,焦点会丢失并且焦点会转移到所选的单选按钮列表项。

这是我想要实现的显示

enter image description here

当我单击“经销商名称”时,焦点会转移到经销商单选按钮,因此用户无法键入“经销商名称”

上述行为发生在 Firefox 中。在 Chrome 中,它不会造成任何问题

更新:

这是我在选择索引更改时使用的代码

$("#rOD").change(function () {
        if ($("#rOD input:checked").val() == "Dealer") { $("#txtDName").removeAttr("disabled"); }
        else { $("#txtDName").attr("disabled", "disabled"); }
    });

我尝试使用以下代码来改变焦点

function fc(elem) {
        $("#rOD").focusout();
        $(elem).focus();
    }

这是标记

<asp:RadioButtonList Font-Size="Small" ID="rOD" data-toggle="popover" title="Field required"
        data-content="Please Select" ClientIDMode="Static" runat="server"
        RepeatDirection="Vertical">
        <asp:ListItem Text="Owner" Value="Owner">Owner</asp:ListItem>
        <asp:ListItem Text="Dealer" Value="Dealer">Dealer&nbsp <input type="text" id="txtDName" onclick="return fc(this);" placeholder="Dealer Name" disabled="disabled" data-toggle="popover" title="Field required" data-content="Please Select" style="width:150px"  /> </asp:ListItem>
    </asp:RadioButtonList>

最佳答案

试试这个 jQuery 代码:-

$("#rOD").click(function (e) {
    $("#rOD input:checked").next().find('input').focus();
});
$("#rOD").change(function (e) {
    if ($("#rOD input:checked").val() == "Dealer") {
        $("#txtDName").removeAttr("disabled");
        e.preventDefault();
    } else { 
        $("#txtDName").attr("disabled", "disabled"); 
    }
});

关于javascript - html 元素在单选按钮列表中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27918100/

相关文章:

JQuery UI 组合框禁用

php - 如何在 Yii2 中获取视频文件输入的持续时间、大小和维度?

java - 如何将一个 HTML 片段转换为另一个 HTML 片段?

javascript - 更改滚动 div 时的类

javascript - 使用 backbone.d.ts

Javascript/Jquery 不会更改 Safari 中的 URL 参数,但会在 Chrome 中更改

jquery - 如何将背景图像定位在容器边缘的中心

javascript - 从asp.net中的可编辑div中获取内部html

javascript - 设置 Access-Control-Allow-Origin 不适用于 AJAX/Node.js

javascript - 尝试使用 fs 访问目录时出现错误 : ENOENT: no such file or directory, open