クリック可能なdivを持つページがあり、Jsonで動的に取り込まれています。 divにはアイテムのリストが含まれています。特定のアイテムをクリックすると、クリックしたアイテムの名前と詳細を含む新しいページが表示されます。 私の問題は、あなたがいくつかの助けをすることができれば、私はアイテムのラベル(名前)を表示する方法を理解できないということです。どうもありがとう !ここでクリックしたアイテムの表示値(ラベル名)
は私のJSON配列である:
$data['dataHeader'] = array('id', 'Name', 'Value');
$data['dataJson'] = array(
array('id1', 'Jeans', 'blablablabla'),
array('id2', 'Leather Jacket', 'some random description'),
array('id3', 'Suede Boots', 'description of boots')
);
ここ
は私がしようとしたものです:ヘッダの
(function($) {
// Plugin to clickable element
$.fn.infoClickable = function() {
this.each(function() {
// get the object
var elm = $(this);
// Define click event
elm.on("click", function(){
//Get info relative to clicked element
var currentPage = elm.data("page");
loadPage_X_Content(elm);
});
});
}
// Load page 1
loadPage1Content();
// Application du plug-in
$('.clickableDiv').infoClickable();
}(jQuery));
function loadPage_X_Content(elm){
var nextPage = currentPage + 1;
var nextPageName = '#LV' + nextPage +'Content';
arrayOfData = reponseData;
currentValue = arrayOfData;
var elm = $(this);
var elmID = elm.attr("id");
var PageContent = '';
PageContent += '<div>' + elmID + '</div>';
$.ajax({
url : "Pages/index.php",
type: 'GET',
dataType: 'json',
data: 'action=loadPage' + '&ID=' + elmID,
success: function(reponseData) {
:
LVContent += '<div class="HeaderLine">';
$.each(arrayOfData['dataHeader'], function(currentIdx, currentValue)
{
if (currentIdx > 0) PageContent += '<div class="' + arrayOfData[currentIdx] + '">'+ currentValue +'</div>';
});
データの場合:
コードが何であるかニレ指定されていません含ま
$.each(arrayOfData['dataJson'], function(currentIdx, currentValue){
PageContent += '<div class="BlocLine clickableDiv" ';
PageContent += ' id="' + currentIdx + "_" + currentContext + '"';
PageContent += ' >';
// columns
$.each(currentValue, function(currentIdx, currentValueCol){
if (currentIdx > 0){
PageContent += '<div class=" '+ arrayOfData[currentIdx] +' "';
PageContent += ' >'+ currentValueCol +'</div>';
}
});
PageContent += '</div>';
});
$(nextPageName).append(PageContent);
$(nextPageName).find('.clickableDiv').infoClickable();
});
PLSのは、HTML、elm.attr(「ID」)を示してdiv要素のIDを取得していませんあなたの配列のid。これは、データ配列のIDを使ってdivのIDを設定した場合にのみ機能するので、名前を取得する方法についてはわかりません。 – FutureCake
2つの配列のどちらが '$ data ['dataHeader '] 'または' $ data [' dataJson '] 'あなたは使っていますか?なぜ2つの配列を作るのですか?通常は '$ data ['dataJson'] [0] [0]'を実行すると 'id_jeans'が得られます。連想配列を試してみるべきです。 –
@JérémyFerreira私はいくつかのコードで私の投稿を編集します、私は両方を使用しています、dataHeaderにはヘッダーラベルがあり、dataJsonにはデータ値が含まれています – Zee