如何从下拉列表中选择值时启用 - 禁用input type =“text”

时间:2016-08-22 08:40:42

标签: javascript php jquery css html5

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

2 个答案:

答案 0 :(得分:1)

我们假设你有这个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" />

然后,您可以对change上的<select>事件采取行动,通过添加事件侦听器来禁用或启用<input>

由于您正在使用jQuery(因为您已在问题中添加了jquery标记),示例代码可能如下所示:

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

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

答案 1 :(得分:0)

您可以加入选择框的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" />