Javascript 即使在下拉jquery中没有更改选项,我也希望更改行为

Javascript 即使在下拉jquery中没有更改选项,我也希望更改行为,javascript,jquery,html,Javascript,Jquery,Html,我需要在下拉列表中包含用户输入。 我使用jquery的.change()方法实现了它。 使用.change()函数可以在选择“输入值”选项时进行输入。 为了使这个代码再次工作,我将不得不改变选择。i、 e 当我再次单击“输入值”选项时,不会更改索引,也不会发生任何事情。 如何在不更改所选选项的情况下将焦点移到文本框。 简而言之,我希望当前的功能能够多次工作,而不必选择其他选项 我在js fiddle中的代码是: 您可以将select值更改为“0”,从而在对输入字段赋予焦点后显示“无” jQue

我需要在下拉列表中包含用户输入。 我使用jquery的.change()方法实现了它。 使用.change()函数可以在选择“输入值”选项时进行输入。 为了使这个代码再次工作,我将不得不改变选择。i、 e

当我再次单击“输入值”选项时,不会更改索引,也不会发生任何事情。 如何在不更改所选选项的情况下将焦点移到文本框。 简而言之,我希望当前的功能能够多次工作,而不必选择其他选项

我在js fiddle中的代码是:


您可以将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);
    }
});