javascript - 隐藏文件输入,直到其他输入不为空/未选择

标签 javascript jquery attr selecteditem

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

我有以下内容,我只是无法弄清楚未选择的部分:

<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方法来获取选择字段发生的更改的通知,对于普通文本字段,您可以使用 keyup .

关于javascript - 隐藏文件输入,直到其他输入不为空/未选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30108714/

相关文章:

javascript - 防止ajax中的特殊字符(http)

javascript - 为什么 jQuery .prop() 不适用于 'allowfullscreen' ?

javascript - 通过索引分配属性的最佳方法是什么

javascript - 使用 try catch

javascript - 如何缩短这段代码?

javascript - 在动态创建的 DOM 中计算值

javascript - 将数据传递给 jQuery 模式

android - 如何将自定义属性传递给嵌套的 xml

javascript - 从 jQuery 中隐藏 Bootstrap 模式第一次不起作用

javascript - NodeJS 从哪里开始?