2012-09-15 14 views
5

मेरे पास एक इनपुट फ़ील्ड है जिसमें परिवर्तनीय चौड़ाई है small, large, medium। मेरे पास सीएसएस स्टाइल है।चुनिंदा बॉक्स का चयन कैसे करें चयनित मूल्य

उदाहरण:

case 1: <input type="text" id="a1" class="title small required" /> 
case 2: <input type="text" id="a1" class="title medium" /> 
case 3: <input type="text" id="a1" class="title large required" /> 

इस बीच मैं एक select बॉक्स है:

<select id="b1"> 
    <option value="small">Small</option> 
    <option value="medium">Medium</option> 
    <option value="large">Large</option> 
</select> 

क्या मैं की आवश्यकता होती है अब है input क्षेत्र की जाँच करने के small या medium या large और स्थापित करने के लिए के वर्ग है प्रासंगिक select बॉक्स selected के रूप में। JQuery में मैंने सीधे चयनित मानों को medium के रूप में सेट किया है, लेकिन फिर भी ड्रॉप-डाउन small दिखाता है।

मैं कैसे जांचूं कि input फ़ील्ड में hasClass() फ़ंक्शन का उपयोग करके इनमें से कोई भी कक्षा है? क्या हम एक समय में इसकी जांच कर सकते हैं?

+0

jquery में कैसे जांच करें कि इनपुट फ़ील्ड में तीन वर्ग "छोटा" या "मध्यम" या "बड़ा" है? hasClass() का उपयोग करके हम एक समय में एक को जांच सकते हैं। – kamala

उत्तर

3

उपयोग इस

$('#b1').val("small"); // to set small as selected 

$('#b1').val("medium"); 

$('#b1').val("large"); 

अगले के लिए .hasClass() का उपयोग करें।

var size = $("#al").hasClass('small')? 'small': 
    ($("#a1").hasClass('medium')? 'medium' : 
    ($("#a1").hasClass('large')? large :' null')); 
alert(size); 
3

मध्यम "jQuery में मैं सीधे रूप में चुना मूल्यों की स्थापना की है" ", लेकिन अभी भी ड्रॉप-डाउन छोटे से पता चलता"

आप अपने jQuery कोड नहीं दिखा, लेकिन स्थापित करने के लिए id="1" साथ चयन तत्व का मान आप ऐसा करते हैं चाहते हैं:

$("#1").val("medium"); // or, obviously, use a variable instead of "medium" 

लेकिन आपके मामले में आप दोनों का चयन करें और इनपुट क्षेत्र के लिए id="1" का उपयोग किया है, जो अवैध एचटीएमएल है - id अद्वितीय होना चाहिए। डुप्लिकेट की गई आईडी द्वारा चुनने वाले अधिकांश ब्राउज़रों में बस उस आईडी के साथ पहला तत्व चुनेंगे।

id एस बदलें और अपने jQuery को मिलान करने के लिए अपडेट करें और इसे ठीक काम करना चाहिए। (यदि वह काम नहीं करता है, अपने प्रश्न अपडेट कर लें वास्तव में अपने जे एस कोड को दिखाने के लिए और हम आगे सहायता प्रदान कर सकते हैं।)

+1

हाँ यह काम करता है .. – kamala

+0

jquery में कैसे जांच करें कि इनपुट फ़ील्ड में तीन वर्ग "छोटा" या "माध्यम" या "बड़ा" है? hasClass() का उपयोग करके हम एक समय में एक को जांच सकते हैं। – kamala

+0

यह देखते हुए कि इस क्षेत्र में अन्य कक्षाएं भी हो सकती हैं, शायद 'hasClass() '(जैसा कि Baz1nga के उत्तर में दिखाया गया है) के साथ उन्हें एक बार जांचना सबसे अच्छा है। क्या आपके मूल वास्तविक-दुनिया कोड में वास्तव में डुप्लीकेट आईडी विशेषताएं हैं?यदि ऐसा है, तो कृपया उन्हें अद्वितीय बनाने के लिए अपने प्रश्न को संपादित न करें क्योंकि उत्तर समझ में नहीं आता है। (यदि यह मूल प्रश्न में सिर्फ एक टाइपो था तो निश्चित रूप से आपको इसे संपादित करना चाहिए।) – nnnnnn

2

सभी id के पहले एक html पृष्ठ पर अद्वितीय होना

सबसे पहले चयन किया है एक चयनकर्ता सही ढंग से अपने इनपुट तत्व का चयन .. मैं अपने वहाँ के बाद से शीर्षक वर्ग चयनकर्ता का उपयोग कर रहा सभी मामलों में

var selectedOption=""; 
if($('.title').hasClass('small')) 
{ 
    selectedOption='small'; 
} 
else if($('.title').hasClass('medium')) 
{ 
    selectedOption='medium'; 
} 
else 
{ 
    selectedOption='large'; 
} 

//i am assuming you have only one select on your page, else replace it with id selector 
$("select option[value="+selectedOption+"]")).prop('selected','true'); //setting the correct option as selected 
संबंधित मुद्दे