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

时间:2015-01-13 08:51:48

标签: javascript jquery html asp.net radiobuttonlist

我有单选按钮列表,在其中一个项目列表中我有html输入类型="文本"。

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

这是显示我想要实现的目标

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>

2 个答案:

答案 0 :(得分:1)

使用此代码,

$(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();
}

这是结果,

Code Result

答案 1 :(得分:1)

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