2015-05-07 1 views
2

У меня есть форма, в которой мне нужно отключить выбор файла/ввода, пока оба варианта ввода текста и выбора не будут пустыми и по умолчанию (соответственно).Скрытие ввода файла до тех пор, пока другие входы не будут пусты/не выбраны

У меня есть следующий, я просто не могу понять, не выбранную часть:

<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

+0

лучший андер предоставлен. – Blauharley

ответ

2

Надеется, что это помогает:

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(); 

change метод Используйте Jquery в для получения уведомлений об изменениях, которые произошли с полем выбора, и для обычных текстовых полей вы можете использовать keyup.

+0

А, событие '.change' - это то, о чем я пытался думать. – Matt

+0

Я изменил ваше первое условие, потому что когда какое-либо поле не заполнено, тогда поле файла должно быть отключено в соответствии с тем, как я понял ваш вопрос :) – Blauharley

+0

Еще лучше, спасибо! – Matt