如何使用 jQuery 在 Select 事件中启用禁用的不同输入

How to Enable Disabled different Input in Select Event using jQuery

当有人 select 使用 jQuery

启用选项一然后第一个输入时,我想这样做

示例代码如下:

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
<div class="form-material">
  <label for="storeCategory">Store Details</label>

  <select class="form-control" id="storeABDetails">
    <option value="message">Message</option>
    <option value="image">Image</option>
    <option value="video">Video</option>
  </select>

</div>

<div class="form-group">
  <div class="col-sm-8 col-sm-offset-2">
    <div class="form-material">
      <input type="text" class="form-control" id="shortMessage" name="shortMessage" placeholder="Please enter the short message" >
      <label for="shortMessage">Short Message</label>
    </div>
  </div>
</div>

<div class="form-group">
  <div class="col-sm-8 col-sm-offset-2">
    <div class="form-material">
      <input type="file" id="image" name="storeImage">
      <label for="storeImage">Store Image</label>
    </div>
  </div>
</div>

<div class="form-group">
  <div class="col-sm-8 col-sm-offset-2">
    <div class="form-material">
      <input type="file" id="video" name="storeVideo">
      <label for="storeVideo">Store Video</label>
    </div>
  </div>
</div>

如果消息是 selection,则启用消息输入,当图像和视频是 selection,则图像和视频 selection 启用和禁用。

我想要jquery怎么做,请帮帮我

  1. 您需要使用 change() 事件来检测 select 何时更改。
  2. 我将 Message 的值更改为 shortMessage 以便更容易获取值并找到正确的输入。
  3. 使用 .prop 函数来 enable\disable 输入。

var ddl = $('#storeABDetails').change(function() {
  var val = ddl.val();
  
  $('.form-material input').prop('disabled', true);
  $('#' + val).prop('disabled', false);
});

ddl.trigger('change')
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
<div class="form-material">
  <label for="storeCategory">Store Details</label>

  <select class="form-control" id="storeABDetails">
    <option value="shortMessage">Message</option>
    <option value="image">Image</option>
    <option value="video">Video</option>
  </select>

</div>

<div class="form-group">
  <div class="col-sm-8 col-sm-offset-2">
    <div class="form-material">
      <input type="text" class="form-control" id="shortMessage" name="shortMessage" placeholder="Please enter the short message" >
      <label for="shortMessage">Short Message</label>
    </div>
  </div>
</div>
<div class="form-group">
  <div class="col-sm-8 col-sm-offset-2">
    <div class="form-material">
      <input type="file" id="image" name="storeImage">
      <label for="storeImage">Store Image</label>
    </div>
  </div>
</div>

<div class="form-group">
  <div class="col-sm-8 col-sm-offset-2">
    <div class="form-material">
      <input type="file" id="video" name="storeVideo">
      <label for="storeVideo">Store Video</label>
    </div>
  </div>
</div>