我正在尝试在对话框页面中实现 JQuery Mobile 滑块。
单击按钮时会创建对话框。在此按钮的回调中,我打算从服务器获取一些 JSON 数据并用数据填充对话框。代码片段如下:
$('.class-CheckOutList').live ("click", function (event)
{
$.post("getItemDataForDataEntry.php", {"name":selectedItemID},
function(data){
$.each(data, function(index,value){
dialogHTML = '<input type="range" name="slider"';
dialogHTML +=' id="slider-0" value="0" min="0" max="100">';
$("#itemDataEntryFormContent").html(dialogHTML);
});
}
,"json");
});
问题是上面的代码没有正确渲染滑块。抱歉,由于我是这个论坛的新手,所以我无法发布图片来展示我得到的东西。
但是,以下代码似乎可以正常工作:
$('.class-CheckOutList').live ("click", function (event)
{
dialogHTML = '<input type="range" name="slider"';
dialogHTML +=' id="slider-0" value="0" min="0" max="100">';
$("#itemDataEntryFormContent").html(dialogHTML);
});
有人可以帮忙吗?
谢谢。
+++++++++++++++++++++
更新 --> 我已经设法解决了这个问题,但是在我应用解决方案之后又发生了另一个类似的问题。
我做了什么 --> 以前,为了激活回调,我使用了这样的东西:
<a href='#itemDataEntryDialog' data-rel='dialog' data-role='button'>Change</a>";
创建对话框。
我所做的解决方案是将以上内容更改为:
<a data-role='button'>Change</a>";
并将代码更改为:
$('.class-CheckOutList').live ("click", function (event)
{
$.post("getItemDataForDataEntry.php", {"name":selectedItemID},
function(data){
$.each(data, function(index,value){
dialogHTML = '<input type="range" name="slider"';
dialogHTML +=' id="slider-0" value="0" min="0" max="100">';
});
$("#itemDataEntryFormContent").html(dialogHTML);
$.mobile.changePage($('#itemDataEntryDialog'), {role: "dialog"} );
}
,"json");
});
所有这些更改都会导致对话框正确呈现。
但是,当我第二次单击该按钮时,对话框渲染再次失败(就像以前一样)。
所以,我有点回到第一方......
如果能在这里得到一些帮助将不胜感激。它快把我逼疯了。