2011-02-15 8 views
5

पृष्ठ लोड होने पर JQuery का उपयोग करके मैं पृष्ठ के पहले तत्व पर फ़ोकस सेट करना चाहता हूं। मैं सफलतापूर्वकJQuery का उपयोग कर पृष्ठ के पहले <select> तत्व पर फ़ोकस कैसे सेट करें?

$(":input:visible:first").focus(); 

या

$(':input:enabled:visible:first').focus(); 

jquery, set focus on the first enabled input or select or textarea on the page के अनुसार का उपयोग करके पहले तत्व के लिए ध्यान केंद्रित करने के लिए सेट कर सकते हैं।

मैं नीचे से किसी का उपयोग करने की कोशिश की:

$('select:first').focus(); 
$("select").first().focus(); 
$(':visible:first').focus(); 
$('enabled:visible:first').focus(); 

या अन्य रूपों मैं के बारे में सोच सकता है, लेकिन सफल नहीं है।

क्या कोई इस समस्या पर मेरी सहायता कर सकता है? मैं JQuery के लिए एक शुरुआत कर रहा हूँ।

मैं यह फ़ंक्शन सभी प्रमुख ब्राउज़रों के लिए काम करना चाहता हूं।

बहुत बहुत धन्यवाद!

+0

क्या आप कुछ एचटीएमएल प्रश्न में पोस्ट कर सकते हैं? शायद एक स्वरूपण मुद्दा ...? और क्या आपने इसे कई ब्राउज़रों में परीक्षण किया है? –

+0

इसके अलावा, $ (": दृश्यमान: पहला") जो भी पहली चीज़ दिखाई दे रहा है उस पर ध्यान केंद्रित करने का प्रयास करेगा। शायद आप जो करना चाहते थे वह नहीं। इसी प्रकार 'सक्षम' एक HTML तत्व नहीं है, इसलिए $ ("सक्षम: दृश्यमान: पहला") कुछ भी इंगित नहीं करेगा। कोशिश करते रहो, यह एक साथ आ जाएगा। –

उत्तर

8

समस्या यह है कि आप डोम लोड होने के बाद कोड नहीं चला रहे हैं। इसे आजमाएं:

$(document).ready(function(){ 
    $("select:first").focus(); 
}); 

यह काम करना चाहिए।

संपादित करें: आप कोड इस का उपयोग करके थोड़ा आसान बनाने में कर सकते हैं:

$(function(){ 
    $("select:first").focus(); 
}) 

आप इसे उस तरह से उपयोग करते हैं, jQuery कि समारोह को गति प्रदान करेगा जब दस्तावेज़ के डोम तैयार है।

+1

यह भी सुनिश्चित कर लें कि आप jquery लाइब्रेरी को शामिल कर रहे हैं, इससे पहले कि आप अपने स्वयं के जावास्क्रिप्ट –

+0

को क्षमा कर रहे हैं। मुझे लगता है कि आप पहले से ही jQuery सहित थे।इसके अलावा, फ़ायरबग के साथ फ़ायरफ़ॉक्स का उपयोग करने का प्रयास करें, आपके जीवन को बेहतर बना देगा। –

+1

त्वरित उत्तर के लिए धन्यवाद डेविड और लोगान। हालांकि, वे मेरी समस्याओं का समाधान नहीं करते हैं। मेरा कोड $ (दस्तावेज़) में शामिल किया गया था .ready (function() {}। क्षमा करें, मैंने इसे समझाया नहीं है। इसके अलावा मैंने jquery लाइब्रेरी को । ये सभी कोड शरीर के अंग में मौजूद हैं। चूंकि: इनपुट: पहला काम करता है, यह चुनिंदा से जुड़ी एक समस्या होनी चाहिए, मुझे लगता है। मैं इस कोड का उपयोग क्वालिटिक्स में करता हूं, जो कि सर्वेक्षण ऑनलाइन जैसे एक ऑनलाइन सर्वेक्षण उपकरण है। शायद यह उस उपकरण से संबंधित एक मुद्दा है .. – user605660

2

आप उस तत्व पर कॉल कर रहे हैं जो DOM में लोड नहीं है। अपना कोड ready फ़ंक्शन में रखें।

jQuery(document).ready(function() { 
    $(":input:visible:first").focus();    
}); 

अद्यतन:

के रूप में @ दाऊद जवाब और टिप्पणियों में देखा, वह सही है।

$(document).ready(function(){ 
    $("select:first").focus(); 
}); 

लेकिन आपने सही रूप से jquery (टिप्पणी में देखा गया) शामिल नहीं किया है। आप स्क्रिप्ट src से पहले http डालने से चूक गए हैं।

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> 
+0

उत्तर एडेल के लिए धन्यवाद, लेकिन यह ऊपर बताए अनुसार मेरी समस्या का समाधान नहीं करता है। – user605660

+0

अच्छा पकड़। +1। –

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