2013-07-09 64 views
0

我想使用HTML和Javascript選擇什麼樣的值彈出基礎。顯示彈出的基礎上我選擇什麼選項

<!DOCTYPE html> 
<html> 
<body> 
<select id="mysel"> 
<option value="1">1</option> 
<option value="2">2</option> 
<option value="3">3</option> 
<option value="4">4</option> 
<option value="5">5</option> 
</select> 

<script> 
    $(document).ready(function(){ 
    $(':input#mysel').live('change',function(){ 
    var sel_opt = $(this).val(); 
    alert(sel_opt); 
    if(sel_opt==1) 
    { 
     alert() 
    } 
    else if(sel_opt==2) 
    { 
     alert() 
    } 
     else if(sel_opt==3) 
     { 
     alert() 
     } 

    }); 

}); 
    </script> 

</body> 
</html> 

但上面的代碼不起作用。任何想法是什麼問題?

更新的代碼: -

<!DOCTYPE html> 
<html> 

<body> 
<select id="mysel"> 
<option value="1">1</option> 
<option value="2">2</option> 
<option value="3">3</option> 
<option value="4">4</option> 
<option value="5">5</option> 
</select> 

    <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"> 

$(document).ready(function(){ 
    $('#mysel').on('change', function(){ 
     var sel_opt = $(this).val(); 
     alert(sel_opt); 

     if(sel_opt==1) 
     { 
      alert() 
     } 
     else if(sel_opt==2) 
     { 
      alert() 
     } 
     else if(sel_opt==3) 
     { 
      alert() 
     } 

    }); 
}); 

</script> 

</body> 
</html> 

上面的代碼仍然沒有加入jQuery庫以及工作後。任何想法爲什麼?

+3

可能是因爲你不包括jQuery庫的任何地方......特別是使用它的任何代碼之前。以及''。並且'live'在1.7中被棄用,在1.9中被刪除 – Ian

+0

通過添加舊版本的jQuery作爲@Ian所提到的,你的代碼很好。如果我錯了,請將jsfiddle添加到您的代碼中。 – Praveen

+0

你可以嘗試用'bind'或'on'來替換被棄用/刪除的'live'(謝謝@Ian),它會起作用。 – jrthib

回答

2

在jQuery中1.7+直播功能已被棄用,實際上完全消除在1.9。嘗試用bindon替換live,它應該做的伎倆。

$(document).ready(function(){ 
    $('#mysel').on('change', function(){ 
     var sel_opt = $(this).val(); 
     alert(sel_opt); 

     if(sel_opt==1) 
     { 
      alert() 
     } 
     else if(sel_opt==2) 
     { 
      alert() 
     } 
     else if(sel_opt==3) 
     { 
      alert() 
     } 

    }); 
}); 

演示:http://jsfiddle.net/6NykM/

+0

您能否提供我需要放在腦海中的確切jQuery庫? – ferhan

+0

看到我的問題更新。 – ferhan

+0

在您的jQuery包含中需要關閉''標記。 – jrthib

-1

嘗試使用switch語句而不是if/else循環以獲得更好的可讀性。

你遇到的麻煩是數據類型,獲得的類型是字符串,你正在比較int。

$('#mysel').on('change',function(){ 
    var sel_opt = $(this).val(); 
    alert(sel_opt); 

switch(sel_opt){ 
case "1": 
alert(); 
break; 
case "2": 
alert(); 
break; 
case "3": 
alert(); 
break; 
} 
    }); 

檢查搗鼓這個..如果您在您的HTML頭jQuery庫 http://jsfiddle.net/S9jkK/1/

+0

仍然無法正常工作。任何想法爲什麼? – ferhan

+0

讓我爲此添加小提琴.. –

+0

http://jsfiddle.net/S9jkK/1/ –

0

你的代碼工作。經過測試並使用jQuery的舊版本(jsFiddle上的1.6.4〜1.8.3)。

這裏是一個的jsfiddle:http://jsfiddle.net/MbmTF/

+0

你能否提供我確切的jQuery庫,我需要把我的腦袋? – ferhan

+0

看到我的問題更新。 – ferhan

0

添加一個jQuery librabry將解決您的問題 小提琴是here

$(':input#mysel').live('change',function(){ 
var sel_opt = $(this).val(); 
alert(sel_opt); 
if(sel_opt==1) 
{ 
    alert("It's one"); 
} 
else if(sel_opt==2) 
{ 
    alert("It's two"); 
} 
    else if(sel_opt==3) 
    { 
    alert("It's three"); 
    } 

}); 
+0

你可以提供我確切的jQuery庫,我需要把我的腦袋? – ferhan

+0

看到我的問題更新。 – ferhan

+0

在我的Js小提琴中,您可以在外部資源選項卡中獲得JQuery [頁面左側]我正在使用jquery-1.8.2.min.js –

0

不能合併腳本,包括行和腳本代碼在一個tag.You需要改變這樣的。

<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script> 
<script> 
$(document).ready(function(){ 
    $('#mysel').on('change', function(){ 
     var sel_opt = $(this).val(); 
     alert(sel_opt); 

     if(sel_opt==1) 
     { 
      alert() 
     } 
     else if(sel_opt==2) 
     { 
      alert() 
     } 
     else if(sel_opt==3) 
     { 
      alert() 
     } 

    }); 
}); 

</script> 
相關問題