2011-07-18 64 views
0

我有一個選擇,我想它的onchange動畫什麼的,繼承人的選擇代碼:jQuery的動畫不點火平變化

<select id="account_select" onchange="submit_value()"> 
<option value="">Select account</option> 
<option value="1">Account 1</option> 
<option value="2">Account 2</option> 
</select> 

繼承人的jQuery:

function show_keyboard() 
{ 
    $('.keyboard').animate({bottom: '0px'}, 2000); 
} 

function submit_value() 
{ 
    if (!is_number($('#account_select').val())) 
    { 
     alert('You must select an account'); 
    } 
    else 
    { 
     show_keyboard(); 
    } 
} 

的問題是,在我選擇一個帳戶之後,我必須點擊屏幕上的某個地方纔能讓鍵盤通過show_keyboard功能出現。我不知道爲什麼。

+0

你在哪裏觸發submit_value()? – meo

+0

我想我需要查看其餘代碼,例如account_select容器和鍵盤。 –

+0

@ ono = onchange =「submit_value()」' –

回答

-1

以及我知道使用jQuery的更改函數是一個更好的方法...這個問題似乎在瀏覽器刷新後自行解決。

0

HTML

<select id="account_select"> 

jQuery的

$('#account_select').change(submit_value); 
1

這是更好/更清潔,不使用內嵌的JavaScript。

只是使用jQuery的change()

http://jsfiddle.net/rw4qB/

編輯

代碼中,我會用:

function show_keyboard() 
{ 
    $('.keyboard').animate({bottom: '0px'}, 2000); 
} 

$('#account_select').change(function() { 
    if ($(this).val() == '') { 
     alert('Please select an account'); 
     return true; 
    } 

    show_keyboard(); 
}); 
0

讓我知道這對你的作品:

<html> 
<head> 
    <script type="text/javascript" src="jqueryMIN.js"></script> 
    <script> 

    function hello() { 
     var selObj = $('#direction'); 
     var slider = $('#slider'); 

     if (!parseInt(selObj.val())) 
     { 
      alert('You must select a direction'); 
     } 
     else 
     { 
      switch(parseInt(selObj.val())) 
      { 
       case 1: 
        slider.animate({top: 100}, 800) 
       break; 

       case 2: 
        slider.animate({left: 100}, 800) 
       break; 

       case 3: 
        slider.animate({ top: 0, left: 0 }, 800) 
       break; 
      } 
     } 
    } 
    </script> 
</head> 



<body> 
    <select id="direction" onchange="hello()"> 
     <option value="">Select an direction</option> 
     <option value='1'>down</option> 
     <option value='2'>right</option> 
     <option value='3'>reset</option> 
    </select> 
    <div id='slider' style='position: relative; display: block; background-color: #00f; width: 100px; height: 100px;'></div> 
</body> 

替換路徑到您的jQuery的version.js文件jQuery的參考。如果這不起作用,那麼你的jQuery庫文件可能有問題。就像上面提到的,我不會建議使用內聯方法,但爲了舉例,我在這裏包含它。

希望這會有所幫助。