simple question for most of you i think;-) i have an array (from a Sharepoint List) this Array shows like this if i write it via .html into a DIV:
{name="Drittes Kapitel"text="uiuiui"value="45.0000000000000"}
{name="Ein anderer Titel"text="Ein zweiter Text"value="123.000000000000"}
{name="Ein Titel"text="Das ist der Text"value="256.000000000000"}
my Code to bring this up into a DIV is the following:
function AddContent(name,text,value)
{ $("#meineListe").append('{name="'+ name + '"text="' + text + '"value="'+ value +'"}<br />');
}
so it shows me up all 3 Elements in this Array But how can i put the array into a Variable? if i try to
function AddElements(name,text,value)
{ MyElements = ('{name="'+ name + '"text="' + text + '"value="'+ value +'"}<br />');
console.log(MyElements);
$("#meineListe").html(MyElements);
}
it shows me just the first entry of them... i did not understand what happend here exactly.
Whole Code (from sharepointhillbilly):
//this is where the script starts after the page is loaded
$(document).ready(function() {
GetMyListData();
});
function GetMyListData()
{
//The Web Service method we are calling, to read list items we use 'GetListItems'
var method = "GetListItems";
//The display name of the list we are reading data from
var list = "MyList";
//We need to identify the fields we want to return. In this instance, we want the Name (Title),
//Blog, and Picture fields from the Speakers list. You can see here that we are using the internal field names.
//The display name field for the Speaker's name is "Name" and the internal name is "Title". You can see it can
//quickly become confusing if your Display Names are completely differnt from your internal names.
//For whatever list you want to read from, be sure to specify the fields you want returned.
var fieldsToRead = "<ViewFields>" +
"<FieldRef Name='Title' />" +
"<FieldRef Name='treo' />" +
"<FieldRef Name='iz1y' />" +
"</ViewFields>";
//this is that wonderful CAML query I was talking about earlier. This simple query returns
//ALL rows by saying "give me all the rows where the ID field is not equal to 0". I then
//tell the query to sort the rows by the Title field. FYI: a blank query ALSO returns
//all rows, but I like to use the below query because it helps me know that I MEANT to
//return all the rows and didn't just forget to write a query :)
var query = "<Query>" +
"<Where>" +
"<Neq>" +
"<FieldRef Name='ID'/><Value Type='Number'>0</Value>" +
"</Neq>" +
"</Where>" +
"<OrderBy>" +
"<FieldRef Name='Title'/>" +
"</OrderBy>" +
"</Query>";
//Here is our SPServices Call where we pass in the variables that we set above
$().SPServices({
operation: method,
async: false, //if you set this to true, you may get faster performance, but your order may not be accurate.
listName: list,
CAMLViewFields: fieldsToRead,
CAMLQuery: query,
//this basically means "do the following code when the call is complete"
completefunc: function (xData, Status) {
//this code iterates through every row of data returned from the web service call
$(xData.responseXML).SPFilterNode("z:row").each(function() {
//here is where we are reading the field values and putting them in JavaScript variables
//notice that when we read a field value there is an "ows_" in front of the internal field name.
//this is a SharePoint Web Service quirk that you need to keep in mind.
//so to read a field it is ALWAYS $(this).attr("ows_<internal field name>");
//get the title field (Element Title)
var name = ($(this).attr("ows_Title"));
var text = ($(this).attr("ows_treo"));
var value = ($(this).attr("ows_iz1y"));
//get the blog url, SharePoint stores a url in the form of <url><comma><description>
//We only want the <url>. To accomplish this we use the javascript "split" function
//which will turn <url><comma><description> into an array where the first element [0]
//is the url. Catch all that? if you didn't this is another reason you should be
//a developer if you are writing JavaScript and jQuery :)
//var blog = ($(this).attr("ows_Blog")).split(",")[0];
//same thing as the blog, a picture is stored as <url><comma><alt text>
//var pictureUrl = ($(this).attr("ows_Picture")).split(",")[0];
//call a function to add the data from the row to a table on the screen
AddElements(name,text,value);
});
}
});
}
// very simple function that adds a row to a table with the id of "speakerTable"
// for every row of data returned from our SPServices call.
// Each row of the table will display the picture of the speaker and
// below the speaker's picture will be their name that is a hyperlink
// to the speaker's blog.
function AddRowToTable(name,text,value)
{ MyElements = ('{name="'+ name + '"text="' + text + '"value="'+ value +'"}<br />');
console.log(MyElements);
$("#meineListe").html(MyElements);
}
<!-- table where our listContent rows will go -->
<div id="meineListe"></div>
any suggestions?
i need this array in a JS Variable. is there another solution as in .append to add an array into a varaible?