2017-02-18 58 views
-1

如何顯示輸入#f_past_data當文本#f_past_farmaco被填入?Jquery SHOW輸入文本框時的其他輸入

#f_past_farmaco是一個文本輸入。

我試過這個,但不起作用。

$('label[for=f_past_data], input#f_past_data').hide(); // hiding label 

$("select#f_past_farmaco").change(function(){ 
    $(this).find("value").each(function(){ 
     if($(this).attr("value")!==""){ 
      $('label[for=f_past_data], input#f_past_data').fadeIn(); 
      $('#f_past_data').css('display','block'); 

     } 
     else{ 
      $('label[for=f_past_data], input#f_past_data').fadeOut(); 
      $('#f_past_data').css('display','none'); 
     } 
    }); 
}).change(); 

HTML

<label for="f_past_farmaco">Farmaco </label>   
<input type="text" id="f_past_farmaco" name="f_past_farmaco" value="" class="form-control"> 
<label for="f_past_data">Data </label> 
<input type="date" id="f_past_data" name="f_past_data" value="2017-02-19" class="form-control"> 
+1

f_past_farmaco是一個選擇輸入? – niceman

+0

檢查是否可以運行'$(document).on('keyup click keydown','#f_past_farmaco',function(){' –

+0

您能否展示您的HTML足夠多(認爲「* [mcve] *」)可以重現您的情況,這使我們能夠在將來以特定的幫助和其他訪問者的身份爲您提供明確,準確的幫助,並提供一個具體的示例來幫助他們制定解決方案。 –

回答

1

change活動僅適用於選擇字段和複選框,你需要使用keyup,​​,keypress,試試這個

$(document).on('keyup',"#field1",function(){ 
 
    var val = $(this).val(); 
 
    if(val.length == 0) 
 
    { 
 
      $("#field2").hide(); 
 
    } 
 
    else 
 
    { 
 
      $("#field2").show(); 
 
    } 
 
})
#field2{ 
 
display:none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div> 
 
    <input type="text" id="field1"/> 
 
    <input type="text" id="field2"/> 
 
</div>

0

上一步:請從您的文檔中刪除任何重複的ID,然後嘗試此代碼...

$(document).on('keyup click keypress keydown','#f_past_farmaco',function(){ 
     $(this).find("value").each(function(){ 
      if($(this).attr("value")!==""){ 
       $('label[for=f_past_data], #f_past_data').fadeIn(); 
       $('#f_past_data').css('display','block'); 

      }else{ 
       $('label[for=f_past_data], #f_past_data').fadeOut(); 
       $('#f_past_data').css('display','none'); 
      } 
     }); 
    });