如何使用JQueryMobile 1.4RC1更新弹出选择文本?

时间:2013-11-06 10:37:23

标签: javascript jquery jquery-mobile

我之前使用过JQueryMobile 1.3及更早版本的弹出窗口没有问题。使用新的1.4 RC1,我发现当我选择不同的项目时,我的弹出窗口不会更新。

您可以在此处查看JQueryMobile 1.3的示例 http://jsfiddle.net/vinomarky/56hQ9/

另一个在这里使用JQueryMobile 1.4RC1 - 相同的代码,但选择不同的选项时,选择框不再更新; http://jsfiddle.net/vinomarky/B9TqL/1/

有什么想法尝试?代码如下;

<a href="#popupBasic16" data-rel="popup" data-role="button" data-inline="true" data-position-to="origin" id="log_or_norm">Lognormal</a>

<div data-role="popup" id="popupBasic16">
    <div data-role="fieldcontain">
        <fieldset data-role="controlgroup">
            <input type="radio" name="updown" id="updown46" value="Lognormal" checked="checked" />
            <label for="updown46">Lognormal</label>
            <input type="radio" name="updown" id="updown47" value="Normal" />
            <label for="updown47">Normal</label>
        </fieldset>
    </div>
</div>

和Javascript

$('select').selectmenu();

$('#updown46').click(function () {
    $('#log_or_norm .ui-btn-text').html('Lognormal');
    $('#popupBasic16-screen').click();
    document.select_choices.log_or_norm.value = "Lognormal";
    $('select').selectmenu('refresh');
});

$('#updown47').click(function () {
    $('#log_or_norm .ui-btn-text').html('Normal');
    $('#popupBasic16-screen').click();
    document.select_choices.log_or_norm.value = "Normal";
    $('select').selectmenu('refresh');
});

2 个答案:

答案 0 :(得分:2)

由于未定义document.select_choices,您的Javascript会出现一些错误。如果要更新按钮的值,请使用jQuery:

$('#log_or_norm').text("Lognormal");

似乎在jQuery 1.4中他们改变了按钮的HTML结构,这就是你的代码$('#log_or_norm .ui-btn-text').html('Lognormal');不起作用的原因。查看更改的完整页面here

演示here

答案 1 :(得分:2)

两种方法

 $('#log_or_norm').text('Normal');

另一个

$('#log_or_norm ').empty().append('Lognormal');

小提琴

http://jsfiddle.net/B9TqL/3/