2012-08-22 18 views
17

मेरे पास एक साधारण ड्रॉप डाउन है और मैं इसे प्राप्त करना चाहता हूं ताकि यदि उपयोगकर्ता कोई बच्चा चुनता है तो संदेश बेबी रखने के लिए संदेश बदलता है, लेकिन किसी अन्य चयन के लिए। संदेश वही रहता है (कुछ नहीं), लेकिन यह काम नहीं कर रहा है। क्या कोई मदद कर सकता है। कृपया मेरे jsfiddle के साथ खेलते हैं।जावास्क्रिप्ट आदान-प्रदान का उपयोग करके ड्रॉपडाउन

http://jsfiddle.net/Z9YJR/ यहाँ एचटीएमएल

<select id="leave"> 
    <option value="5">Get Married</option> 
    <option onchange="changeMessage()" value="100">Have a Baby</option> 
    <option value="90">Adopt a Child</option> 
    <option value="15">Retire</option> 
    <option value="15">Military Leave</option> 
    <option value="15">Medical Leave</option> 
</select> 

<div id="message"></div> 

यहाँ है js है

function changeMessage() { 
    document.getElementById("message").innerHTML = "Having a Baby!!"; 
} 
+0

ऐसा लगता है कि आप विशेष रूप से jsfiddle के लिए समारोह स्थानांतरित करने के लिए है में चयन किया। मेरा मानना ​​है कि यह आपके द्वारा लिखे गए किसी भी कोड को समाहित करने का उनका तरीका है ताकि यह उनके किसी भी कोड में हस्तक्षेप न करे। http://jsfiddle.net/Z9YJR/5/ – Shmiddty

+0

आह! धन्यवाद Shmiddty :) –

उत्तर

37

कुछ इस तरह चाल

<select id="leave" onchange="leaveChange()"> 
    <option value="5">Get Married</option> 
    <option value="100">Have a Baby</option> 
    <option value="90">Adopt a Child</option> 
    <option value="15">Retire</option> 
    <option value="15">Military Leave</option> 
    <option value="15">Medical Leave</option> 
</select> 

<div id="message"></div> 

करना चाहिए जावास्क्रिप्ट

function leaveChange() { 
    if (document.getElementById("leave").value != "100"){ 
     document.getElementById("message").innerHTML = "Common message"; 
    }  
    else{ 
     document.getElementById("message").innerHTML = "Having a Baby!!"; 
    }   
} 

jsFiddle Demo

एक छोटा संस्करण और अधिक सामान्य

<select id="leave" onchange="leaveChange(this)"> 
    <option value="5">Get Married</option> 
    <option value="100">Have a Baby</option> 
    <option value="90">Adopt a Child</option> 
    <option value="15">Retire</option> 
    <option value="15">Military Leave</option> 
    <option value="15">Medical Leave</option> 
</select> 

हो सकता है

एचटीएमएल जावास्क्रिप्ट

function leaveChange(control) { 
    var msg = control.value == "100" ? "Having a Baby!!" : "Common message"; 
    document.getElementById("message").innerHTML = msg; 
} 
+0

जब मैं इसे चलाता हूं तो यह संदेश के लिए कुछ भी प्रदर्शित नहीं करता है .. –

+0

क्षमा करें, 'onchange = leaveChange' –

+1

पर' ')' से चूक गया है, आप अधिक ऑब्स्ट्रक्शन के लिए फ़ंक्शन में चयनित ऑब्जेक्ट को पास कर सकते हैं ... = "leaveChange (this)" ... function leaveChange (elem) {if (e.value ... – FrankieTheKneeMan

1

यह काम नहीं करता है क्योंकि JSFiddle में आपकी स्क्रिप्ट अपने स्वयं के दायरे में चल रही है (बाईं ओर "ऑनलोड" ड्रॉप डाउन देखें?)। इस के आसपास

एक ही रास्ता (जहां यह होना चाहिए) जावास्क्रिप्ट में अपने ईवेंट हैंडलर बाध्य करने के लिए है:

document.getElementById('optionID').onchange = function() { 
    document.getElementById("message").innerHTML = "Having a Baby!!"; 
}; 

एक और तरीका है बेला पर्यावरण के लिए अपने कोड को संशोधित करने और स्पष्ट रूप से वैश्विक रूप में अपने समारोह की घोषणा करने के है, इसलिए यह अपने इनलाइन ईवेंट हैंडलर से पाया जा सकता है:

window.changeMessage() { 
    document.getElementById("message").innerHTML = "Having a Baby!!"; 
}; 

2

आसान

<script> 
jQuery.noConflict()(document).ready(function() { 
    $('#hide').css('display','none'); 
    $('#plano').change(function(){ 

     if(document.getElementById('plano').value == 1){ 
      $('#hide').show('slow');  

     }else 
      if(document.getElementById('plano').value == 0){ 

      $('#hide').hide('slow'); 
     }else 
      if(document.getElementById('plano').value == 0){ 
      $('#hide').css('display','none'); 

      } 

    }); 
    $('#plano').change(); 
}); 
</script> 

इस उदाहरण से पता चलता और div छुपाता है अगर बता गया कुछ विशिष्ट मूल्य

+9

क्योंकि स्पष्ट रूप से प्रत्येक व्यक्ति जिसके पास जावास्क्रिप्ट समस्या है या jQuery का उपयोग करना चाहता है! –

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

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