当我尝试添加以下jquery移动按钮时抛出jquery代码:
// insert new button to bf div (breackfast div)
$("#bf").html('<a href="FoodCat/FilterIndex?TimeId=2&CurDate=0" data-role="button" > Add new </a> ');
它并不意味着Jquery移动样式(data-role =“button”)??
下面是html:
<div data-role="collapsible-set" data-theme="i" data-split-icon="gear" data-split-theme="e">
<div data-role="collapsible">
<h3> Breackfast </h3>
<div id="bf" style="margin:0 !important;padding:0 !important; display:inline !important">
<ul data-role="listview" data-theme="i" ">
<li>
<input type="button" tabindex="@ViewBag.CurInt" id="bdelete" value="DeleteFood" onclick="bfd();"/>
</li>
</ul>
</div>
</div>
</div>
下面是JQuery代码(PLZ注意:它调用服务并执行删除,但问题只在于不将渲染按钮视为jquery移动样式)
<script type="text/javascript">
function bfd() {
var fp = '/api/service?prsnIduser1&MealTime=2&CurDate='+ $("#bdelete").attr("tabindex");
$.ajax({
url: fp,
type: 'Delete',
dataType: 'json',
contentType: 'application/json; charset=utf-8',
success: function () {
$("#bf").html('<a href="FoodCat/FilterIndex?TimeId=2&CurDate=0" data-role="button" > Add new </a> ');
$("#bf a").buttonMarkup();
});
}
</script>
我在google和stackoverflow上进行了很多搜索,而且我在下面尝试但没有成功但没有成功:
$("div[data-role=collapsible]").collapsible({refresh: true });
// or even add :
$("#bf").page();
// or
$("#bf a").buttonMarkup();
答案 0 :(得分:4)
如果我理解正确,您希望动态创建 jQuery Mobile
按钮并正确设置样式。
这是一个有用的 jsFiddle
示例:http://jsfiddle.net/Gajotres/m4rjZ/
$(document).on('pagebeforeshow', '#index', function(){
// Add a new button element
$('[data-role="content"]').append('<a id="button" href="FoodCat/FilterIndex?TimeId=2&CurDate=0" data-role="button">Button</a>');
// Enhance new button element
$('#button').button();
});
要了解有关jQuery Mobile如何处理动态添加内容及其增强方式的更多信息,请查看 ARTICLE ,或找到 HERE 即可。
以下是官方jQuery Mobile按钮 documentation 的链接。
答案 1 :(得分:3)
您可以通过调用button()
方法“手动”创建按钮小部件,就像Gajotres建议的那样。
但是,如果您想要一个不依赖于窗口小部件类型的通用解决方案,您可以通过触发祖先元素上的create
事件让jQuery Mobile“赶上”新标记。
例如:
$("#bf").html('<a href="FoodCat/FilterIndex?TimeId=2&CurDate=0" data-role="button">Add new</a>')
.trigger("create");