【问题标题】:Hiding file input until other inputs are not empty/not selected隐藏文件输入,直到其他输入不为空/未选择
【发布时间】:2015-07-18 11:27:29
【问题描述】:

我有一个表单,我需要禁用文件选择/输入,直到文本输入和选择选项都不是空白和默认值(分别)。

我有以下,我只是想不出未选择的部分:

<div class="form-group">
<div class="input-group col-md-6">
<input type="text" class="form-control" placeholder="Search by Asset ID" maxlength="64" class="form-control" id="imageid" name="imageid"> <span class="input-group-btn">
<button class="btn btn-default image-search" type="button">Search</button>
</span>

</div>
<div class="search-results"></div> 
</div>
<div class="form-group">
<label for="image">Select Asset Type:</label>
<select id='crop' class="btn btn-default" data-toggle="dropdown">
    <option value="default">Choose Type</option>
    <option value="now">Now</option>
    <option value="livefeeds">Live Feeds</option>
</select>
</div>
<div class="form-group">
<label for="imageid">Select an image</label>
<input type="file" name="file" class="btn btn-default form-control" id="file"   
accept="image/jpg, image/png, image/jpeg" />
</div>


if ($("#imageid").val() == '' && $("#crop default").is(':selected')) {
    $("#file").attr("disabled", "true");
} else if ($("#imageid").val() != '' && $("#crop").val() != "default") {
    $("#file").attr("disabled", "false");
}

JSFiddle:link

【问题讨论】:

  • 提供了更好的答案。

标签: javascript jquery attr selecteditem


【解决方案1】:

希望这会有所帮助:

function checkForInputs(){
   var filledUp = $("#imageid").val() != '' && $("#crop").val() != "default";
   if (!filledUp) {
       $("#file").attr("disabled", true);
   } else if (filledUp) {
       $("#file").attr("disabled", false);
   }
}

$("#imageid").keyup(function(){ checkForInputs(); });
$("#crop").change(function(){ checkForInputs(); });

checkForInputs();

使用 jquery 的 change 方法来获取选择字段发生更改的通知,对于普通文本字段,您可以使用 keyup

【讨论】:

  • 啊,.change 事件是我试图想到的。
  • 我已经修改了您的第一个条件,因为当任何字段未填写时,根据我对您问题的理解应该禁用文件字段:)
猜你喜欢
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多