use*_*824 6 jquery jquery-mobile
我在设置jQuery Mobile Text Input的显示文本时遇到问题.以下是我的代码
$('#editPartyName').textinput();
$('#editPartyName').val(party.name);
Run Code Online (Sandbox Code Playgroud)
行为真的很奇怪,第一次模态显示,文本输入框是一个模态(jquery移动简单对话框插件),文本在模态的输入字段就好了.但是,第二次显示模态时,输入中的视觉文本将消失.当我检查元素的值时,警告($('#editPartyName).val()); 价值在那里并且是正确的.文本将不会显示在元素中.我正在使用JQM Beta 1.我还尝试在val()声明之后粘贴$('#editPartyName').textinput().
有人有什么建议吗?谢谢!
Mat*_*ark 12
我也碰到了这个.我能够设置文本输入$('#some_id').val('foobar')的值,然后将值打印到控制台console.info($('#some_id').val());,但在浏览器中,文本输入为空.
经过一段时间的努力,我发现它$('input[id=some_id]').val('foobar')按预期工作.所以,显然,jQuery通过ID引用元素存在某种奇怪的错误.
创建您使用的 jQuery Mobile 文本输入样式.textinput()并刷新您使用的现有 jQuery Mobile 文本输入的视图.textinput("refresh")。因此,在后续调用中,您需要使用该.textinput("refresh")方法,而在未初始化的文本输入上,您需要使用.textinput().
就像是:
$('#editPartyName').val(party.name).textinput('refresh');
Run Code Online (Sandbox Code Playgroud)
我的经验是选择输入,但我相信文本输入也是如此,以下是我为选择更新视图所做的操作:
$("select#foo").selectmenu("refresh");
Run Code Online (Sandbox Code Playgroud)
此示例来自文档:http://jquerymobile.com/demos/1.0b1/docs/forms/forms-selects.html(页面底部)
除了更改输入元素的值之外,您不需要执行任何操作:
$('#editPartyName').val(party.name)
Run Code Online (Sandbox Code Playgroud)
这是使用 jQuery Mobile 1.1.0 的演示:http://jsfiddle.net/VbAKL/
这是使用 jQuery Mobile 1.0B1 的演示:http://jsfiddle.net/VbAKL/1/
出现此问题的可能性很大,因为您是按 ID 选择的,并且 DOM 中可能同时存在同一个 ID 的多个实例。jQuery Mobile 站点可以同时在 DOM 中拥有多个“伪页面”,如果每个页面中都有一个 ID 为 的元素,那么#header当您尝试运行选择时,#header将仅返回第一个实例。因此,您的$('...').val(...)函数调用可能有效,只是不在正确的元素上。
简短回答:使用 jQuery Mobile 时,请确保您的 ID 在站点中的所有页面中都是唯一的。
| 归档时间: |
|
| 查看次数: |
18503 次 |
| 最近记录: |