none
Вывести корректный список (SPServices, GetListItems) RRS feed

  • Вопрос

  • Всем привет, получаю значения с помощью (SPServices, GetListItems), но они выходят в виде строки в Select как множественные значения,

    необходимо сделать корректный список (SELECT) элементов:

    User1

    User2

    User3

    всем спасибо за отзывы:

    <script type="text/javascript">
    
    $(document).ready(function() {
    var itemSource = [];
    var k = 0;
    var source;
    
    $().SPServices({
    	operation: "GetListItems",
            async: true,
            listName: "Telekom Group",
            CAMLViewFields: "<ViewFields><FieldRef Name='Title' /><FieldRef Name='Name' /><FieldRef Name='NameEng' /><FieldRef Name='Country' /></ViewFields>",
            CAMLQuery: '<Query><Where><Eq><FieldRef Name="Country" /><Value Type="Text">' + 'varchek' + '</Value></Eq></Where></Query>',
            completefunc: function (xData, Status) {
                $(xData.responseXML).SPFilterNode("z:row").each(function() {
                	var Name = ($(this).attr("ows_Title"));
                	itemSource[k] = $(this).attr('ows_Title');
                	k = k + 1;
                	liHtml = "<option value=''>" + itemSource + "</option>";
                 });
            $("#ManagerIT").html(liHtml);
           }
       });  
    });
    </script>
    <select title="ManagerIT" id='ManagerIT' class='form' ></select>


    2 марта 2015 г. 14:49

Ответы

  • Добрый день,

    У вас при обработке результата идет не добавление строк, а замещение одной строкой, вот вы и получаете такой результат.

    Попробуйте так:

    <script type="text/javascript">
    
    $(document).ready(function() {
    $().SPServices({
    	operation: "GetListItems",
            async: true,
            listName: "Telekom Group",
            CAMLViewFields: "<ViewFields><FieldRef Name='Title' /><FieldRef Name='Name' /><FieldRef Name='NameEng' /><FieldRef Name='Country' /></ViewFields>",
            CAMLQuery: '<Query><Where><Eq><FieldRef Name="Country" /><Value Type="Text">' + 'varchek' + '</Value></Eq></Where></Query>',
            completefunc: function (xData, Status) {
                $(xData.responseXML).SPFilterNode("z:row").each(function() {
                    $("#ManagerIT").append("<option value='" + $(this).attr("ows_Title") +"'>"+ $(this).attr("ows_Title") + "</option>");
                 });
           }
       });  
    });
    </script>
    <select title="ManagerIT" id='ManagerIT' class='form' ></select>

    Т.е. для каждого .each добавляете свою строку.



    • Изменено Maxim Shusharin 3 марта 2015 г. 5:08 Исправил код
    • Помечено в качестве ответа Mikhail Zhuikov 3 марта 2015 г. 6:16
    3 марта 2015 г. 1:13

Все ответы

  • Добрый день,

    У вас при обработке результата идет не добавление строк, а замещение одной строкой, вот вы и получаете такой результат.

    Попробуйте так:

    <script type="text/javascript">
    
    $(document).ready(function() {
    $().SPServices({
    	operation: "GetListItems",
            async: true,
            listName: "Telekom Group",
            CAMLViewFields: "<ViewFields><FieldRef Name='Title' /><FieldRef Name='Name' /><FieldRef Name='NameEng' /><FieldRef Name='Country' /></ViewFields>",
            CAMLQuery: '<Query><Where><Eq><FieldRef Name="Country" /><Value Type="Text">' + 'varchek' + '</Value></Eq></Where></Query>',
            completefunc: function (xData, Status) {
                $(xData.responseXML).SPFilterNode("z:row").each(function() {
                    $("#ManagerIT").append("<option value='" + $(this).attr("ows_Title") +"'>"+ $(this).attr("ows_Title") + "</option>");
                 });
           }
       });  
    });
    </script>
    <select title="ManagerIT" id='ManagerIT' class='form' ></select>

    Т.е. для каждого .each добавляете свою строку.



    • Изменено Maxim Shusharin 3 марта 2015 г. 5:08 Исправил код
    • Помечено в качестве ответа Mikhail Zhuikov 3 марта 2015 г. 6:16
    3 марта 2015 г. 1:13
  • Спасибо Максим и это есть правильный ответ :)
    3 марта 2015 г. 6:17