मेरे पास निम्न HTML कोड है

<span id="bedrooms-minus" class="filter_sign">-</span>
<input type="number" min="0" max="10" id="bedrooms" value="1"/>
<span id="bedrooms-plus" class="filter_sign">+</span>

मैं क्या करने की कोशिश करता हूं, जब भी कोई इनपुट के किनारे पर +/- बटन पर क्लिक करता है तो इनपुट के मूल्य को एक-एक करके बढ़ाना/घटाना है।

यह वह jQuery कोड है जिस पर मैं काम कर रहा हूं

  $("#bedrooms-minus,#bedrooms-plus").click(function(){
        var value = parseInt($("#bedrooms").val(), 10);
        $("#bedrooms").val(value + $(this).is("#bedrooms-minus") ? -1 : 1);
    });

हालांकि, जब मैं उस पर क्लिक करता हूं, तो मान को अपडेट करने के बजाय यह इसे -1 या 1 से बदल देता है।

यहाँ बग की प्रतिकृति के साथ एक jsfiddle है

https://jsfiddle.net/ug395zck/

0
Tasos 12 मई 2019, 21:45

1 उत्तर

सबसे बढ़िया उत्तर

संचालन प्राथमिकता के आधार पर, + का मूल्यांकन पहले और फिर सशर्त ऑपरेटर द्वारा किया जाएगा। इसलिए आप अंत में 1 या -1 प्राप्त कर रहे हैं। 1 या -1 जोड़ने से पहले कोष्ठक जोड़ें।

$("#bedrooms-minus,#bedrooms-plus").click(function(){
        var value = parseInt($("#bedrooms").val(), 10);
        $("#bedrooms").val(value + ($(this).is("#bedrooms-minus") ? -1 : 1));
    });

साथ ही, जब 'इनपुट' 'नंबर' होता है तो आपको उन 2 बटनों की आवश्यकता नहीं होती है। ऊपर तीर कुंजी और नीचे तीर कुंजी क्रमशः संख्या में वृद्धि और कमी करेगी

2
Trupti Shetty 12 मई 2019, 19:19