隐藏文件输入,直到未选择其他输入 empty/not

Hiding file input until other inputs are not empty/not selected

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

我有以下内容,只是想不通未 selected 的部分:

<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

希望对您有所帮助:

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 method to get notified for changings that happened with a select field and for normal text-fields you could use keyup