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

标签 javascript jquery html input onchange

我想在有人选择第一个选项时使用 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>

如果消息被选择,则消息输入被启用,当图像和视频被选择时,图像和视频选择被启用和禁用。

我想要 jquery 如何做到这一点,请帮帮我

最佳答案

  1. 您需要使用 change()检测 select 何时更改的事件。
  2. 我已将 Message 的值更改为 shortMessage,这样可以更轻松地获取值并找到正确的输入。
  3. 使用.prop启用\禁用输入的功能。

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>

关于javascript - 如何使用 jQuery 在 Select 事件中禁用不同的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35251517/

相关文章:

javascript - 获取 Laravel Controller 中的 Js 值

javascript - 全日历中的多个资源列

javascript - D3.js 在绘制后更改容器的宽度

javascript - 创建元素时滚动到底部

javascript - 对 .aspx 和 .html 感到困惑

javascript - Video.js this.tech 未定义 firefox

javascript - 单击标签时显示警报 - Jquery

javascript - Tinymce 编辑器在初始化后只加载了 alert 语句

javascript - 使用 JQuery 更新表单提交上显示的 div

javascript - 无法使用复选框切换多个动态 Google map 标记点