jquery mobile之后的文本框样式

时间:2013-11-15 19:34:37

标签: javascript jquery html html5

我在使用在webview中实现的jquery创建文本框时遇到问题。这是代码

<html>

<head>
    <title>jQuery Mobile List Demo</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0b3/jquery.mobile-1.0b3.min.css" />
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.3.min.js"></script>
    <script type="text/javascript" src="http://code.jquery.com/mobile/1.0b3/jquery.mobile-1.0b3.min.js"></script>
    <script type="text/javascript">
        var counter = 1;
        $('#AddQuestion').live('pagecreate', function() {
            $('#button').click(function() {
                $('#TextBoxesGroup').append("<input type ='text' id='option" + counter + "' placeholder='option" + counter + "'>");
                $('#TextBoxesGroup').textinput();
                if (counter > 4) {
                    document.getElementById("button").style.display = 'none';
                }
                counter++;
            });
        });
    </script>
</head>

<body>
    <div data-role="page" id="AddQuestion">
        <div data-role="header" data-position="fixed">
                <h1>AddQuestion</h1> 
        </div>
        <div data-role="content">
            <form name="newdocument">
                <div data-role="listview" id="TextBoxesGroup"></div>
                <input type="button" value="Add Option" id="button">
            </form>
        </div>
    </div>
</body>
</html>

我在jsfiddle中尝试了这个代码,当我按下添加选项按钮时,它显示了unstyle文本框。会有什么问题?

1 个答案:

答案 0 :(得分:1)

您需要在页面上触发create才能让jQuery mobile应用样式化所需的其他标记和类。

<script type="text/javascript">
    var counter = 1;
    $('#AddQuestion').live('pagecreate', function() {
        $('#button').click(function() {
            $('#TextBoxesGroup').append("<input type ='text' id='option" + counter + "' placeholder='option" + counter + "'>");
            $('#TextBoxesGroup').textinput();
            if (counter > 4) {
                document.getElementById("button").style.display = 'none';
            }
            $('#AddQuestion').trigger('create');
            counter++;
        });
    });
</script>