2015-10-02 4 views
5

मैं अभी इस FIDDLE ऑनलाइन पर आया था। जे एस नीचे दिखाई देता है:ऑपरेटर के उपयोग को समझना: चयनित

$(function() { 
    $('#add').click(function() { 
     return !$('#select1 option:selected').appendTo('#select2'); 
    }); 
    $('#remove').click(function() { 
     return !$('#select2 option:selected').appendTo('#select1'); 
    }); 
}); 

एचटीएमएल ::

<SELECT id="select1" name="select1" size="3"><OPTION value="1">Test 1</option><OPTION value="2">Test 2</option></select> 
<SELECT id="select2" name="select2"></select> 
<br><input type="button" id="add" value="Add >>"><input type="button" id="remove" value="<< Remove"> 

इसका मूल रूप से सिर्फ एक जे एस का टुकड़ा एक का चयन करें मूल्यों अंतर्विनिमय। लेकिन मुझे समझ में नहीं आता कि ! ऑपरेटर (ऑपरेटर नहीं) का उपयोग है।

अब मैं समझता हूं कि ऑपरेटर परिणाम को उलट नहीं देता है, लेकिन उपर्युक्त कोड में यह वास्तव में क्या कर रहा है? मैं समझ नहीं पा रहा हूं कि उपरोक्त पहेली में ऑपरेटर क्या कर रहा है और अंत परिणाम पर इसका क्या असर पड़ रहा है? क्या कोई समझा सकता है?

उत्तर

5

यह ऐसा करने का एक आधुनिक तरीका है:

$('#add').click(function() { 
     $('#select1 option:selected').appendTo('#select2'); 
     return false; 
}); 

return false घटना रद्द करके बटन के डिफ़ॉल्ट व्यवहार को रोकता है।

के बाद से एक वस्तु हमेशा truthy हो जाएगा, !object झूठी हो जाएगा और $(selector) एक वस्तु देता है

+0

क्या साथ और '!' ऑपरेटर के बिना प्रभाव है, मैं अभी भी यह नहीं मिलता है :( –

+0

! OMG! मुझे यह मिला, Woooow सुपर कूल तकनीक। –

+1

@AlexanderSolonik वास्तव में मैंने भी सोचा था ... – charlietfl

संबंधित मुद्दे