jQuery Mobile で遊ぶのは初めてですが、jQuery を少し使用しました。迅速なアドバイスを期待していました。
頭の中でいくつかの xml を解析し、 <li> タグを使用して div にデータをリストとして書き込みます。そこにリストが表示されますが、jQuery Mobile のデフォルト スタイルでフォーマットされていません。私は何か間違っていると確信していますが、スタイルを適用するために何をする必要があるのか\u200b\u200bわからないか、「準備完了」以外のデータを取得する必要があるかもしれません。これが私のコードです。
それは私が見逃しているほど単純なものでなければなりません。HTML の <li> タグをハードコーディングすると正常に動作しますが、 use .append() を使用すると、リストのフォーマットが表示されません。
あなたが持っているかもしれないヒントを本当に感謝します.
<!DOCTYPE html>
<html>
<head>
<title>Chart</title>
<link rel="stylesheet" href="css/jquery.mobile-1.0a2.min.css" />
<script src="js/jquery-1.4.4.min.js"></script>
<script src="js/jquery.mobile-1.0a2.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$.ajax({
type: "GET",
url: "xml/vc-data.xml",
dataType: "xml",
success: function(xml){
// build country list
var currentCountry = "";
var currentRegion = "";
$("#countries").html('<ul data-role="listview" data-inset="true" data-theme="c" data-dividertheme="b"></ul>');
$(xml).find("charts").each(function()
{
var country = $(this).find('country').text();
var region = $(this).find('region').text();
if(currentCountry != country) {
//countryList += "<li><a href='#'>" + country + "</a></li>";
$("<li data-role='list-divider'></li>")
.html(country)
.appendTo("#countries ul");
}
if(currentRegion != region) {
$("<li></li>")
.html("<a href='#'>" + region + "</a>")
.appendTo("#countries ul");
}
currentCountry = country;
currentRegion = region;
});
}
});
});
</script>
</head>
<body>
<!-- Start of first page -->
<div data-role="page">
<div data-role="header">
<h1>Charts</h1>
</div><!-- /header -->
<div data-role="content" id="countries" >
</div><!-- /content -->
</div><!-- /page -->
</body>
</html>
おい。返信ありがとうございます。間違ったキーワードで検索していたのではないかと思います。これはどこにも見つからず、過去数日間立ち往生していたからです。ここでの助けに本当に感謝しています。オプションとしてjqTouchに移行しようとしていましたが、これを機能させたいと思っています。私はほとんどそこにいると思います。
これを追加してみました:
$("#countries > ul").page();
しかし、それは何にも影響しませんでした。
それから私は追加しました:
$("#countries div > ul").page();
リンクの色に影響を与えましたが、間隔などで行のスタイルをまったく設定しませんでした.
次に、さらに掘り下げて、見逃したドキュメントでこれを見つけました:
リストビューにアイテムを追加する場合は、refresh() メソッドを呼び出してスタイルを更新し、追加されたネストされたリストを作成する必要があります。例: $('ul').listview('refresh');
そこで、page() をこの行に置き換えたところ、見事に機能しました。
$("#countries div > ul").listview('refresh');