2012-12-28 233 views
1

我有一組2個單選按鈕,可在更改設備時更改設備的方向。單選按鈕更改

我遇到的問題是,當我選擇風景單選按鈕時,它可以工作,但是當我重新選擇人像時,我會看到一個警告風景並保持不變。

這裏是我的嘗試:

HTML:

<fieldset data-role="controlgroup"> 
<input type="radio" name="orientation" id="portrait" value="1" checked /> 
<label for="portrait">Portrait</label> 

<input type="radio" name="orientation" id="landscape" value="2" /> 
<label for="landscape">Landscape Mode</label> 
</fieldset> 

JS:

$("input[name='orientation']").change(function() { 
     if ($("input[name='orienation']:checked").val() == '1') { 
      navigator.screenOrientation.set('portrait'); 
      alert('portrait'); 
     }     
     else if ($("input[name='orienation']:checked").val() == '2') { 
      navigator.screenOrientation.set('landscape'); 
      alert('landscape'); 
     } 
    }) 

我使用jQuery和jQuery Mobile的

+1

您在JS代碼中拼錯了「方向」。 –

回答

2

if的說法應該是更喜歡:

if ($(this).val() == '1') { 
    ... 
}     
else if ($(this).val() == '2') { 
    ... 
} 
+1

雖然這是理想的解決方案,但它也應該注意到,原始代碼不起作用的問題是由於$(「input [name ='orienation']:checked」)在輸入名稱中存在拼寫錯誤,導致選擇器不匹配元素。 – blackbourna