2013-07-16 75 views
0

我正在開發一個具有表單的移動應用程序,並且存在一些無線電選項。這是爲了我的學習目的。.onClick()不適用於jQuery移動

背後的基本思想是,應用程序將在單選按鈕中取四個物理活動名稱,然後根據該名稱動態地生成一個選擇菜單。

我想出了一個解決方案,我將在單選按鈕中使用練習名稱,並使用onClick()將修改選擇菜單。但不幸的是,onClick不起作用。我在網上花費了足夠的時間,但我找不到可以理解的解決方案。

所以,我需要你的幫助。以下是我的代碼。如果你能想出解決方案,那麼請指導我,並且提及你的代碼在這裏工作的方式和原因!

<!DOCTYPE html> 
<head> 
    <script type="text/javascript"> 


    function COptions(){ 
    alert("hello World!"); 
     //document.writeln("Hello World!"); 
    } ; 


    </script> 

    <script> 
      try { 

    $(function() { 

    }); 

    } 
    catch (error) { 
    console.error("Your javascript has an error: " + error); 
    } 
     </script> 

</head> 
<body> 
    <div data-role="page" data-control-title="Home" id="page1"> 
     <div id="header" data-theme="a" data-role="header"> 
      <h3 id="header_txt"> 
       Calorie Burned 
      </h3> 
     </div> 
     <form name="form" id="form"> 
     <div data-role="content"> 
      <div class="form-input" data-role="fieldcontain" data-controltype="textinput"> 
       <label for="textinput2"> 
        Weight 
       </label> 
       <input name="weight" id="textinput2" placeholder="Enter weight (in lbs) " value="" data-mini="true" 
       type="number"/> 
      </div> 
      <div id="exercise_type" data-role="fieldcontain" data-controltype="radiobuttons" > 
       <fieldset data-role="controlgroup" data-type="horizontal" data-mini="true"> 
        <legend> 
         Choose Type of Exercise: 
        </legend> 
        <input id="radio1" name="exercise_type" value="" type="radio" onClick = "COptions()" > 
        <label for="radio1"> 
         Walking 
        </label> 
        <input id="radio2" name="exercise_type" value="running" type="radio" onClick = "COptions()" > 
        <label for="radio2"> 
         Running 
        </label> 
        <input id="radio3" name="exercise_type" value="cycling" type="radio" onClick = "COptions()" > 
        <label for="radio3"> 
         Cycling 
        </label> 
        <input id="radio4" name="exercise_type" value="swimming" type="radio" onClick = "COptions()" > 
        <label for="radio4"> 
         Swimming 
        </label> 

       </fieldset> 
      </div> 
      <div data-role="fieldcontain" data-controltype="selectmenu"> 
       <label for="intensity"> 
        Intensity: 
       </label> 
       <select id="intensity" name="intensity" data-mini="true"> 
        <option value="option1"> 
        </option> 
       </select> 
      </div> 
      <input class="button" data-icon="arrow-d" data-iconpos="top" value="Submit" 
      data-mini="true" type="submit"> 
     </div> 
     <div id="footer" data-theme="a" data-role="footer" data-position="fixed"> 
      <h3 id="footer_txt"> 
       A simple calorie calculator 
      </h3> 
     </div> 
    </div> 
</body> 
</html> 
+0

半冒號也許,什麼是調試器說什麼? –

+0

如果我運行它是作品http://jsbin.com/owivof/1/edit有什麼不對? – baynezy

+0

您可能想要使用事件委派。在(「點擊」)上使用。您將節省您添加onclick的次數。只是一個側面說明。 – krishgopinath

回答

3

與正常的網頁不同,jQuery Mobile中的單選按鈕以不同的方式工作。由於真正的單選按鈕是隱藏的,並且顯示了自定義的按鈕,因此必須使用更改事件而不是單擊事件。此外,如果可能不使用內聯JavaScript onClick與jQuery Mobile的,使用jQuery這樣做:

$(document).on('pagebeforeshow', '#page1', function(){ 
    $(document).on('change', '[name="exercise_type"]', function(){ 
     alert("hello World!"); 
    }); 
}); 

工作jsFiddle例如:http://jsfiddle.net/UEypE/

相關問題