2012-04-13 130 views
3

我正在使用JQuery创建Web表单。如何刷新JQUERY MOBILE中的选择菜单(halp!)

我想使用链接将先前的选择字段复制到另一个选择字段。我让它改变了DOM,select1.selectedIndex的值被改变了。但它仍然可以直观地显示旧值。显然你需要刷新它,以便视觉更新。我不明白我一直在阅读的刷新方法的语法。这是我试图做到这一点,它不起作用。

这是链接

<select name="entry.14.single" id="entry_14">  
     <option value="1"></option>  
     <option value="2">2</option>  
     <option value="3">3</option>  
     <option value="4">4</option>  
     <option value="5">5</option></select> 
    <select name="entry.16.single" id="entry_16">  
     <option value=1""></option>  
     <option value="2">2</option>  
     <option value="3">3</option>  
     <option value="4">4</option>  
     <option value="5">5</option></select> 
    <a href="#" onclick="setSelect('entry_16', 'entry_14');return false;">Same as above</a> 

这里的HTML是我的javascript:

function setSelect(id1, id2){ 
     var select1 = document.getElementById(id1); 
     var select2 = document.getElementById(id2); 
     select1.selectedIndex = select2.selectedIndex; 
     $('#select1').selectmenu('refresh'); 
    } 

有人可以告诉我为什么我刷新语句不工作?

p.s.我知道在同一个问题上还有其他线索,我也读过“文档”。请别把我连到别的地方。我读过其他消息来源,而且没有找到我。请告诉我要更改什么才能使刷新正常工作。

编辑:继承人的 http://jsfiddle.net/AFzqt/7/

+0

*请你给我什么改变*如果你绝望,请考虑提供一个[jsFiddle](http://jsfiddle.net/)来重现你的问题,所以我们可以尝试并改进你的c更有效地颂扬。 – 2012-04-13 22:48:24

+1

我相信这是老本富兰克林曾经说jsFiddle胜过千言万语。 – codaniel 2012-04-13 23:19:15

+0

恩你有3个不同的jQuery库包含的原因吗? – codaniel 2012-04-14 00:41:12

回答

11

一个的jsfiddle可以更动利用jQuery的事件处理程序!

你正在寻找的功能是:

selectmenu("refresh") 

在您的例子,它会是这个样子:

$(function() { 
    $("#changeButton").on("click", function(e) { 
     $("#entry_16").val($("#entry_14").val()); 
     $("#entry_16").selectmenu("refresh"); 
     e.preventDefault(); 
    }); 
}); 

http://jsfiddle.net/AFzqt/8/

+0

当我试图使用'$(“#entry_16”)。selectmenu(“refresh”); '在用户定义的js函数中,即在document.ready()之外,它会抛出“未定义不是函数”的错误。注意:包含jquery,其他jquery语句正在工作。任何人都可以解决这个问题谢谢 – 2015-06-02 05:24:28

相关问题