मैं अगर एक इनपुट एक चेकबॉक्स है या नहीं, और निम्न काम नहीं करता है पता लगाने के लिए करना चाहते हैं:jQuery जांचें कि कोई इनपुट प्रकार चेकबॉक्स है या नहीं?
$("#myinput").attr('checked') === undefined
आप एक बार फिर से धन्यवाद!
मैं अगर एक इनपुट एक चेकबॉक्स है या नहीं, और निम्न काम नहीं करता है पता लगाने के लिए करना चाहते हैं:jQuery जांचें कि कोई इनपुट प्रकार चेकबॉक्स है या नहीं?
$("#myinput").attr('checked') === undefined
आप एक बार फिर से धन्यवाद!
आप jQuery के is
फ़ंक्शन की कॉल के साथ छद्म चयनकर्ता :checkbox
उपयोग कर सकते हैं यह फ़ंक्शन:
function is_checkbox(selector) {
var $result = $(selector);
return $result[0] && $result[0].type === 'checkbox';
};
या इस jQuery प्लगइन:
$.fn.is_checkbox = function() { return this.is(':checkbox'); };
$("#myinput").attr('type') == 'checkbox'
>>> a=$("#communitymode")[0]
<input id="communitymode" type="checkbox" name="communitymode">
>>> a.type
"checkbox"
या, jQuery की शैली के अधिक:
$('#myinput').is(':checkbox')
पूरी तरह से वैध है। सबसे आसान नहीं है। – KyleFarris
यह jQuery के चयनकर्ता इंजन का उपयोग करके बचाता है, जिसका उपयोग यहां पूरी तरह से अनुचित है। पहला संस्करण बहुत बेहतर है, क्योंकि jQuery की उलझन में 'attr()' फ़ंक्शन किसी भी चीज़ को गड़बड़ करने की किसी भी संभावना से बचाता है। –
@ टिम डाउन सही है - आपको 'attr()' '' prop() ', afaik में बदलना चाहिए। 'attr()' हमेशा ब्राउज़र से "वास्तविक" विशेषता मान (यानी चेक किया गया या नहीं) प्राप्त नहीं करता है। ईमानदारी से यह सुनिश्चित नहीं है कि यह मामला क्यों है, लेकिन मैंने इसे थोड़ी देर पहले सीखा। – thekingoftruth
उपयोग:
$("#myinput").attr('type') == 'checkbox'
एक गैर jQuery समाधान ज्यादा एक jQuery समाधान की तरह है:
document.querySelector('#myinput').getAttribute('type') === 'checkbox'
यह वह तरीका है जिसका मैं हमेशा उपयोग करता हूं। –
आप वास्तव में उससे भी आसान नहीं प्राप्त कर सकते हैं। – KyleFarris
इसके लिए चयनकर्ता इंजन का उपयोग क्यों करें? यह पूरी तरह से अनावश्यक है। –