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  <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");
}
});
我有单选按钮列表,在其中一个项目列表中我有 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  <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");
}
});