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

html element not working inside radio button list

我有单选按钮列表,在其中一个项目列表中我有 html input type="text".

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

这是我想要达到的效果

当我点击 "Dealer Name" 时,焦点转移到 Dealer 单选按钮,因此用户无法输入 "Dealer Name"

上述行为发生在 firefox 中。 Chrome 没有造成任何问题

已更新:

这是我在 selected index change

时使用的代码
$("#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>

使用此代码,

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

function fc(elem) {
   $(elem).focus();
}

这是结果,

试试这个 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"); 
    }
});