如何启用/禁用输入类型="text"当从下拉列表中选择值时


How to enable-disable input type="text" when select value from dropdown list

我有一个下拉列表),一个是input type="text"。我想要的是,如果我从下拉列表中选择值{2,3}而不是第一个值,那么输入类型将被禁用,如果我再次选择第一个值,那么它将被启用。

假设你有这样的HTML代码:

<select id='dropdown'>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
</select>
<input type="text" id="textInput" />

则可以在<select>上对change事件进行操作,通过添加事件监听器使<input>禁用或启用。

由于您正在使用jQuery(因为您已经将jquery标记添加到问题中),因此示例代码可能看起来像这样:

$('#dropdown').change(function() {
    if( $(this).val() == 1) {
        $('#textInput').prop( "disabled", false );
    } else {       
        $('#textInput').prop( "disabled", true );
    }
});

这是一个工作小提琴:https://jsfiddle.net/wx38rz5L/2268/

可以钩入选择框的onchange事件。如果您将第一项设置为某个已知值(如空字符串或"first"或其他),则可以检查当前值并根据该值禁用或启用文本框。

var sel = document.getElementById("sel"), text = document.getElementById("text");
sel.onchange = function(e) {
  text.disabled = (sel.value !== "");
};
<select id="sel">
  <option value="">1</option>
  <option>2</option>
  <option>3</option>
</select>
<input type="text" id="text" />