/ / JQuery, इनपुट भरे जाने के बाद यह बटन क्यों नहीं दिखाता है? - जावास्क्रिप्ट, jquery

JQuery, इनपुट भरने के बाद यह बटन क्यों नहीं दिखाता है? जावास्क्रिप्ट, jquery

मैं एक बटन दिखाने / छिपाने की कोशिश कर रहा हूं जब इसके साथ जुड़ा इनपुट खाली है (इस मामले में खोज बार)।

मैं इस जावास्क्रिप्ट का उपयोग कर रहा हूँ:

if(!$(".sb-search-input").val()){
$(".sb-search-submit.button-search").hide();
}
else {
$(".sb-search-submit.button-search").show();
}

और मेरा एचटीएमएल:

            <div id="sb-search" class="sb-search">
<form>
<input class="sb-search-input" placeholder="Szukaj..." type="search" value="" name="search" id="search" onkeyup="buttonUp();" required>
<input class="sb-search-submit button-search" type="button" value="">
</form>
</div>

Sb- खोज-सबमिट बटन-खोज हमेशा अक्षम होती है और जब sb-search-input का मान होता है तो यह सक्षम नहीं होता है।

उत्तर:

जवाब के लिए 3 № 1

उपयोग करने का प्रयास करें input प्रतिस्पर्धा ; e.target.value.length === 0 पर if शर्त ; .trigger() बुलाना input इवेंट हैंडलर पर $(document).ready() उपनाम $(function() {})

$(function() {
$(".sb-search-input").on("input", function(e) {
if (e.target.value.length === 0) {
$(".sb-search-submit.button-search").hide();
} else {
$(".sb-search-submit.button-search").show();
}
}).trigger("input")
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="sb-search" class="sb-search">
<form>
<input class="sb-search-input" placeholder="Szukaj..." type="search" value="" name="search" id="search" required>
<input class="sb-search-submit button-search" type="button" value="">
</form>
</div>