2012-06-14 13 views
21

का उपयोग कर एक चुनिंदा बॉक्स खाली है या नहीं, JQuery मोबाइल का उपयोग करके मेरे पास एक चुनिंदा बॉक्स है जो डेटाबेस से गतिशील रूप से पॉप्युलेट किया जा रहा है। फिलहाल इस चेक बॉक्स की आबादी बेकार ढंग से काम कर रही है। मैंने कार्यक्षमता जोड़ा है जिसमें एक बटन होता है जो 'क्लिक पर' ईवेंट के माध्यम से फ़ंक्शन को कॉल करता है। इस फ़ंक्शन का काम यह जानना है कि क्या यह विशेष चेक बॉक्स पॉप्युलेट किया गया है या नहीं; यदि ऐसा नहीं है तो यह कुछ भी नहीं करेगा, लेकिन अन्यथा यह आसानी से चलाएगा। मेरी समस्या यह निर्धारित कर रही है कि यह चयन बॉक्स खाली है या नहीं।JQuery/जावास्क्रिप्ट

यहाँ मैं क्या के साथ काम कर रहा हूँ की एक बहुत ही सरल उदाहरण है:

<li> 
    <label for="fruit_name">Fruit</label> 
    <select name="some_fruit" id="fruit_name" onclick="populate_box('fruit', this);"> 
    </select> 
</li> 

मेरे समारोह है, जो एक अलग बटन से कहा जाता है, इस तरह दिखता है:

function isSelextBoxEmpty(selectBoxId) { 
    var selected_value = $('#fruit_name'); 

    /* More options... still testing the proper way: 
    var selected_value = $('#fruit_name').text; 
    var selected_value = $('#fruit_name').value; 
    var selected_value = $('#fruit_name').length; 
    var selected_value = $('#fruit_name option:selected', this); 
    var selected_value = document.getElementById('fruit_name'); 
    var selected_value = document.getElementById('fruit_name').length; 
    var selected_value = document.getElementById('fruit_name').value; 
    var selected_value = document.getElementById('fruit_name').innerHTML; 
    */ 

    if(selected_value) { 
     alert("NOT null, value: " + selected_value); 
     //do something 
    } 
    else { 
     alert("null, value: " + selected_value); 
     //do something 
    } 
} 

चिंता मत करो यह क्या करता है और यह कैसे करता है। अभी मेरे लिए क्या मायने रखता है कि मैं यह जांच नहीं सकता कि चेकबॉक्स खाली है या नहीं, मुझे यकीन नहीं है कि इसके बारे में कैसे जाना है। मैंने फ़ोरम और दस्तावेज़ीकरण के माध्यम से बहुत कुछ पढ़ा है लेकिन ऐसा करने में कई प्रभाव हैं क्योंकि यह कार्यान्वयन पर निर्भर करता है।

उदाहरण के लिए document.getElementById(...)... का उपयोग करके झूठी वापसी नहीं होगी और यह इस बात पर निर्भर करता है कि आप इसका उपयोग कैसे करते हैं। JQuery में $("#someID")... का उपयोग करके वांछित परिणाम उत्पन्न हो सकते हैं या नहीं। मैंने में पर टिप्पणी की है, जिनमें से कई अलग-अलग बार कोशिश कर चुके हैं, जिनमें से सभी का मूल्यांकन if(...) कथन में किया जा सकता है।

क्या आपके पास यह प्राप्त करने के बारे में कोई सुझाव या विचार है? अग्रिम में धन्यवाद!

उत्तर

53

सलेक्ट बॉक्स किसी भी मान होते हैं कि क्या जांच करने के लिए:

if($('#fruit_name').has('option').length > 0) { 

जाँच करने के लिए चाहे चयनित मूल्य खाली है:

if(!$('#fruit_name').val()) { 
+1

मैंने आपको जवाब दिया क्योंकि क्लाउडियो से पहले आपको यह सही मिला, लेकिन वास्तव में क्लाउडियो ने इसे करने के कुछ ही सेकंड बाद ही सही पाया ... आप दोनों को धन्यवाद! काश मैं इनाम विभाजित कर सकता हूं। – AGE

+0

बाद वाला कोड सही नहीं है। असल में, यदि आप इसे एक चुनिंदा बॉक्स के साथ आज़माते हैं तो आपको वैल() के रूप में शून्य मिलता है, लेकिन @if (! $ ('# Fruit_name')। Val()) @ सत्य लौटाता है। – sentenza

+0

वैसे मैं अपना डाउनवोट दूर करने की कोशिश कर रहा हूं क्योंकि यह सही है, लेकिन स्टैक ओवरफ्लो मुझे नहीं जाने देगा। लगभग लंगड़ा। डाउनवोट के लिए खेद है, यह एक अपवित्र होना चाहिए। – gregblass

10

एक सही तरीका चयनित करने के लिए मूल्य

var selected_value = $('#fruit_name').val() 

होगा और फिर आपको क्या करना चाहिए

if(selected_value) { ... } 
2

एक और सही तरीका चयनित मान के इस चयनकर्ता का उपयोग करने के लिए मिल जाएगा:

$("option[value="0"]:selected") 

आप के लिए सबसे अच्छा!

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

  • कोई संबंधित समस्या नहीं^_^