使用jquery mobile显示在data-role =页面上扫描条形码

时间:2016-05-08 15:25:47

标签: javascript jquery cordova jquery-mobile

我尝试使用cordova制作条形码扫描仪,并且运行良好,但在使用jquery移动扫描结果后,页面上没有显示?

这是我的Html

<div data-role="page" id="home">
    <div data-role="header">
        <h1>Home</h1>
    </div>

    <div data-role="main" class="ui-content">
        <p>
            <button id="startScan">Start Scan</button>
        </p>
    </div>
</div>

<div data-role="page" id="results">
    <div data-role="header">
        <h1>Reslut</h1>
    </div>

    <div data-role="main" class="ui-content">
        <div id="results"></div>
    </div>
</div>

的javascript

    document.addEventListener("deviceready", init, false);
    function init() {
        document.querySelector("#startScan").addEventListener("touchend", startScan, false);
        resultDiv = document.querySelector("#results");
    }

    function startScan() {

        cordova.plugins.barcodeScanner.scan(
            function (result) {
                var s = "Result: " + result.text + "<br/>" +
                "Format: " + result.format + "<br/>" +
                "Cancelled: " + result.cancelled;
                resultDiv.innerHTML = s;
            },
            function (error) {
                alert("Scanning failed: " + error);
            }
        );

    }

1 个答案:

答案 0 :(得分:0)

您有2个ID为result的div,ID应该是唯一的。我会将data-role="page"的ID更改为pageResults

另外,您必须更改结果页面才能显示结果。

试试这个:

在您的结果div上设置innerHTML之前

$("mobile-pagecontainer" ).pagecontainer( "change", "#results")

Pagecontainer change docs