0

这是我到目前为止写的代码

<!DOCTYPE html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Registration</title>
    <meta name="HandheldFriendly" content="True"/>
    <meta name="apple-touch-fullscreen" content="YES" />
    <meta name="apple-touch-fullscreen" content="YES" />
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta name="apple-mobile-web-app-status-bar-style" content="black" />
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=yes" />

    <link rel="stylesheet" media="all" href="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.css" />

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js "></script>
    <script type="text/javascript" src="my.js"></script>


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

    $('#mothertongue').live("change",function() {

   alert($(this).val());
});​

    </script>
</head>

<body>

    <div data-role="page" data-theme="e" id="page3" data-add-back-btn="true">
        <div  data-theme="e" data-role="header">
            <h3></h3>
            <a href="index.html" class="ui-btn-right" data-icon="home" data-iconpos="notext"
            data-direction="reverse">Home</a>
        </div>
        <div data-role="content" style="padding: 15px">




                <div data-role="fieldcontain">
                    <label for="selectmenu3">
                        <p>
                            Mother Tongue
                        </p> </label>
                    <select name="mothertongue" id="mothertongue" >
                        <option selected="selected" value="-1">Select Mother Tongue</option>
                        <option value="Telugu">Telugu</option>
                        <option value="Kannada">Kannada</option>
                        <option value="Hindi">Hindi</option>
                        <option value="Marathi">Marathi</option>
                        <option value="Tamil">Tamil</option>
                        <option value="Assamese">Assamese</option>
                        <option value="Bengali" >Bengali</option>
                        <option value="Coorgi">Coorgi</option>
                        <option value="Dogri">Dogri</option>
                        <option value="English">English</option>
                        <option value="Garhwali">Garhwali</option>
                        <option value="Gujarati">Gujarati</option>
                        <option value="Kashmiri">Kashmiri</option>
                        <option value="Konkani">Konkani</option>
                        <option value="Kumaoni">Kumaoni</option>
                        <option value="Kutchi">Kutchi</option>
                        <option value="Magahi">Maithili</option>
                        <option value="Malayalam">Malayalam</option>
                        <option value="Manipuri">Manipuri</option>
                        <option value="Marwari">Marwari</option>
                        <option value="Nepali">Nepali</option>
                        <option value="Oriya">Oriya</option>
                        <option value="Punjabi">Punjabi</option>
                        <option value="Sindhi">Sindhi</option>
                        <option value="Tulu">Tulu</option>
                        <option value="Urdu">Urdu</option>
                    </select>
                </div>

                </div>


        </div>
    </div>

</body>
</html>

母语的更改事件根本没有触发。我已经为更改事件编写了这个脚本,但它根本不会触发。

<script type="text/javascript">

    $('#mothertongue').live("change",function() {

   alert($(this).val());
});​

    </script>

我整晚都在为这个问题拉头发。请帮助我,否则我可能会秃头:(

4

4 回答 4

2

您可能想查看 https://forum.jquery.com/topic/jquery-mobile-equivalent-of-document-ready

并使用类似的东西

$('#PageId').live('pagecreate', function() {
    $('#element').click(function () {
        //Do something
    });
});

重要的是,必须在链接到 Jquery 库和 jquery.mobile 之间放置代码,例如:

<script src="@Url.Content("~/Scripts/lib/jquery-1.7.1.js")" type="text/javascript"></script>
<script>MobileInit();</script>
<script src="@Url.Content("~/Scripts/lib/jquery.mobile-1.1.1.js")" type="text/javascript"></script>
于 2012-09-17T02:12:50.067 回答
1

由于您将链接发布到您的实时页面,因此错误似乎出现Uncaught SyntaxError: Unexpected token ILLEGAL在 chrome 开发人员控制台中。

在十六进制编辑器中打开您的 html 文件。或者在 alert() 调用之后和 body 标记之前删除并重新创建所有文本。

于 2012-09-17T01:37:03.363 回答
0

Live 在 jQuery 1.7 中被弃用,使用“delegate”甚至更好的“on”

http://api.jquery.com/live/

http://api.jquery.com/delegate/

http://api.jquery.com/on/

于 2012-09-17T01:59:14.393 回答
0

我有一个类似的问题。您的问题可能是“.on”范围 - #mothertongu 可能过于具体。尝试类似:

$('#PageID').on("change", '#mothertongue', function() {
   ...
});​

还要记住,在 jQuery Mobile 中提交表单时,默认是在下一页中使用 ajax。所以你的代码可能在最后一页上工作,但不是提交结果。看看http://jquerymobile.com/demos/1.2.1/docs/forms/forms-sample.html你可能只需要添加 data-ajax="false" 到表单标签。

于 2013-10-24T22:02:45.243 回答