Javascript 即使在下拉jquery中没有更改选项,我也希望更改行为
我需要在下拉列表中包含用户输入。 我使用jquery的.change()方法实现了它。 使用.change()函数可以在选择“输入值”选项时进行输入。 为了使这个代码再次工作,我将不得不改变选择。i、 e 当我再次单击“输入值”选项时,不会更改索引,也不会发生任何事情。 如何在不更改所选选项的情况下将焦点移到文本框。 简而言之,我希望当前的功能能够多次工作,而不必选择其他选项 我在js fiddle中的代码是:Javascript 即使在下拉jquery中没有更改选项,我也希望更改行为,javascript,jquery,html,Javascript,Jquery,Html,我需要在下拉列表中包含用户输入。 我使用jquery的.change()方法实现了它。 使用.change()函数可以在选择“输入值”选项时进行输入。 为了使这个代码再次工作,我将不得不改变选择。i、 e 当我再次单击“输入值”选项时,不会更改索引,也不会发生任何事情。 如何在不更改所选选项的情况下将焦点移到文本框。 简而言之,我希望当前的功能能够多次工作,而不必选择其他选项 我在js fiddle中的代码是: 您可以将select值更改为“0”,从而在对输入字段赋予焦点后显示“无” jQue
您可以将select值更改为“0”,从而在对输入字段赋予焦点后显示“无”
jQuery(".gfield_select").change(function() {
var val = jQuery(this).val();
var enter = jQuery(this).parent().find('option:selected').text();
var x = jQuery(this).parent();
if (enter ==="Enter a value" || enter === "Enter value"){
var holder = x.find('.holder');
holder.val('');
holder.prop('disabled',false);
holder.focus();
jQuery(this).val("0"); // Change select value to None.
} else {
x.find('.holder').val(x.find('option:selected').text());
x.find('.holder').prop('disabled',true);
}
});
谢谢布兰奇,但这并不能解决我的疑问。我的代码正在工作,您可以签入JSFIDLE。我有三个选择。我选择的任何选项都将反映在文本框中。如果我选择输入值选项,文本框将为空,允许我输入值。但是,如果我再次选择输入值选项,则不会发生任何变化,因为没有索引被更改。这将通过我向您展示的代码得到修复。此处测试:。
jQuery(".gfield_select").change(function() {
var val = jQuery(this).val();
var enter = jQuery(this).parent().find('option:selected').text();
var x = jQuery(this).parent();
if (enter ==="Enter a value" || enter === "Enter value"){
var holder = x.find('.holder');
holder.val('');
holder.prop('disabled',false);
holder.focus();
jQuery(this).val("0"); // Change select value to None.
} else {
x.find('.holder').val(x.find('option:selected').text());
x.find('.holder').prop('disabled',true);
}
});