Тег Архивы: jQuery

XSLT и jQuery образцов

Я делаю много XSLT и jQuery и думал, я хотел бы поделиться несколько фрагментов, которые другие могут оказаться полезными в будущем.

Пример 1: Выделяют простого JavaScript / jQuery в XSLT:

<XSL:шаблон матч = "что-то" XML:пространства = «preserve»>

  <!– Пустой из дружественных фильтры скрытое поле запроса –>
  <сценарий type = «текст/javascript»>
    $(документ).готов(функция(){
      $("#QueryFriendlyFilters").вал(«пустой»);
    });
  </сценарий>

</XSL:шаблон>

Что немного выделяет некоторые JavaScript, который ждет страницы для завершения загрузки (из-за $(документ).готов(…)) и затем задает значение скрытого поля QueryFriendlyFilters литеральное значение «пусто».

Пример 2: Использование <XSL:Если> проверить «больше чем»,  «меньше чем», и т.д..

<XSL:шаблон матч = "что-то" XML:пространства = «preserve»>

  <div id = «fdcAllFilters»>
 
    <XSL:Если test="@Count>0">
      <span class = «fdcFilterLabel»>Текущих фильтров:</диапазон>
    </XSL:Если>

    <!– больше материала происходит здесь. –>

</XSL:шаблон>

Выше фрагмент проверяет, является ли атрибут с именем «Подсчитать» элемента «что-то» больше нуля.  XML за это будет что-то вроде:”

<что-то Count = «5» />

Пример 3: Итерацию всех элементов, Interspersing jQuery звонков.

<!– Прохода через все фильтры и отображает правильный  ссылки. –>
<XSL:для каждого select = «UserFilter»>

  <класс = "FilterHref" href = "javascript:mySubmitPage(«RemoveUserFilter»,'{@ ID}’)">[X]</в>

  <span class = «fdcFilterLabel»><XSL:Стоимость от select="@FilterValue"/></диапазон>

  <сценарий type = «текст/javascript»>

    $(документ).готов(функция(){
        <XSL:текст><![CDATA[$("#QueryFriendlyFilters").вал( ($("#QueryFriendlyFilters").вал() + " ]]></XSL:текст>\"<XSL:Стоимость от select="@FilterValue"/>\"<XSL:текст><![CDATA["));]]></XSL:текст>
    });

  </сценарий>

</XSL:для каждого>

Выше фрагмент является наиболее сложным и может быть более простые способы это сделать.

XML за этим выглядит примерно следующим образом:

<UserFilter ID = «123» FilterValue = «xyzzy» />

Этот фрагмент итерации <UserFilter> узлы. 

Сначала он испускает якоря тегом, при щелчке вызывает функцию JavaScript, которая уже находится на странице, «mySubmitPage» и передает значение атрибута <UserFilter> узел с именем «ID». 

Он затем передает некоторые jQuery, который ожидает загрузки страницы.  Это jQuery обновляет скрытое поле с именем «QueryFriendlyFilters», добавив значение атрибута FilterValue.  Примечание все сумасшедшие <XSL:текст> и <![CDATA[ … ]]> прочее.

Вот это, надеюсь, это поможет!

</конец>

Подписаться на мой блог.

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

Lists.asmx, GetListItems и папки

Я делаю некоторые исследования для кого-то сегодня вокруг list.asmx веб-службы в рамках SharePoint 2010 (и более ранних версий).  Она смогла получить элементы списка в корневой папке (включая имена подпапок), но не мог получить предметы в подпапки.  Я сделал некоторые смотрю на Интернет, и это удивительно общий вопрос.  Тем не менее, Я не мог получить хороший ответ на простой вопрос, «Если я знаю папки, как я могу получить элементы в папке?”  Чтобы быть честным, Я не попробовал все, что трудно, так как я хотел рис, это один из моей какое-то время Улыбка.

Чтобы задать этот вопрос, Я создал сайт под названием «Блогов сценариев» и собственный список с именем «Настраиваемого списка с вложенные папки».  Затем я создал папки с именем:

  • Год 2005
  • Год 2006
  • Год 2007

Я добавил несколько пунктов в папку «2006 год».  Это, как он выглядит:

image

Мой друг не писать код C#, но скорее с использованием Java, так что конверт SOAP был то, что она действительно необходима.  Чтобы получить, что, Я написал немного jQuery и затем используется для получения фактической HTTP разговора скрипача..

Вот соответствующие jQuery (Я скопировал код вниз ниже, если вы хотите копировать/вставить):

image

Они первый ключ должен включать как <queryOptions> и <QueryOptions> узел.  Второй ключ заключается в том, что <Папка> узел — это адрес URL, к которому клиент имеет доступ.

Могут быть и другие способы получить эту, но это работает хорошо для меня, когда с помощью jQuery.

Вот конверт SOAP для выше:

<soapenv:Конверт xmlns:soapenv =’HTTP://schemas.xmlsoap.org/SOAP/envelope/’>                
  <soapenv:Тело>
    <GetListItems xmlns =’
HTTP://schemas.Microsoft.com/SharePoint/SOAP/’>
      <listName>Настраиваемый список с вложенные папки</listName>
      <viewFields>  
        <ViewFields>
          <Имя FieldRef =' название’ />
          <Имя FieldRef ='EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Папка>
HTTP://demoserver1/блоги Сценарии/списки/настраиваемый список с Sub папки/год 2006</Папка>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Тело>
</soapenv:Конверт>

Много примеров и дискуссии вокруг этого привели меня к мнению, что все это мне нужно было <QueryOptions> и укажите имя папки.  Для меня, Нужно обоим подводить его внутрь <queryOptions> а также укажите полный URL-адрес для <Папка> узел.

Вот настройки AJAX jQuery:

$(документ).готов(функция() {
       var soapEnv =
           "<soapenv:Конверт xmlns:soapenv =’HTTP://schemas.xmlsoap.org/SOAP/envelope/’> \
               <soapenv:Тело> \
                    <GetListItems xmlns =’HTTP://schemas.Microsoft.com/SharePoint/SOAP/’> \
                       <listName>Настраиваемый список с вложенные папки</listName> \
                       <viewFields> \
                           <ViewFields> \
                              <Имя FieldRef =' название’ /> \
                              <Имя FieldRef ='EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Папка>http://demoserver1/Blogging Сценарии/списки/настраиваемый список с Sub папки/год 2006</Папка> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Тело> \
           </soapenv:Конверт>";

</конец>

Подписаться на мой блог.

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

Бесконечно вложенности <Div> Теги и jQuery

Это кажется такой теме oddball, Я не уверен, что это действительно стоит блог о, но это никогда не остановили меня до, Поэтому здесь мы идем Улыбка

Я работаю над проектом, где я потянув некоторые данные из поиска, Упаковка его в XML-сообщения, а затем XML в конечном итоге превращается в HTML через XSLT.  Существует много jQuery, один бит из которых реализует некоторые tabbing функцию.  При нажатии на вкладку (действительно, в <Div>), jQuery вызывает .hide() и .show() на различных DIV (Начальная страница загрузки загружает все содержимое в этом случае нет никаких обратных передач).

Куча часов назад, закладке Коммутационная логика начал работать с ошибками, и он не будет показывать один из моих плат.  Я в конечном итоге отслеживать его вниз на тот факт, что internet explorer (по крайней мере) думал, что <Div> что вложенные теги, гораздо глубже, чем предназначены.Разработчик инструментов будет показывать:

-<div id = «Tab1Content»>
  -<Div>
    -<Div>
      -<div id = «Tab2Content»>
        -<Div>
           …………………………
                   </Div>  <— Наконец показывать его был закрыт весь путь вниз здесь!

Таким образом, Если я сделал $(«# Tab1Content»).скрыть(), Я также хотел бы скрыть Tab2, и я никогда не мог бы показать Tab2, если я не показал Tab1.  Я скопирован и вставлен код в visual studio и он показал все div накладки вверх красиво, так же, как они должны были делать, Глядя, как это:

-<div id = «Tab1Content»>
  +<Div>
  +<Div>
-<div id = «Tab2Content»>
  +<Div>
  +<Div>

Я избил моей головой о стену в то время как и заметил, что в фактических HTML код создает много пустых <Div> Теги, как:

<тело>

  <div id = «Tab1Content»>

    <div id = «row1» />
    <div id = «row2» />

  </Div>

  <div id = «Tab2Content»>

    <div id = «row1» />
    <div id = «row2» />

  </Div>

</тело>

(Приведенные выше является чрезмерно waaaaaaaaaaaay.  Пустая div теги являются полностью действительными. Некоторые из моих <Div> Теги были полны содержание, Однако многие другие не были.  Я пришел к реализации, моя <XSL:для каждого> директивы с короткой форме div метки когда xsl:для каждого не ' найти любые данные.  Я заставили комментарий HTML в выходной, как показано:

image

 

После того, как я сделал это, все div очереди, красиво и моя вкладка переключения начал работать.

Как всегда, Я надеюсь, что это помогает кто-то в крайнем случае.

</конец>

Подписаться на мой блог.

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

Еще больше jQuery–Изменение размера изображения пример

Я унаследовал веб-часть от старого поставщика клиента и он имеет проблему размер изображений.  Изображения должны быть 60×50 но для некоторых странно причине, первоначальный поставщик заставили их в 42×42, Таким образом они выглядят сжато:

 

Хорошее изображение

Плохое изображение

Вот разметка (несколько упрощена):

<Таблица класса = «продлен outlook»>
  <thead>
    <TR>
      <th  Ширина ='100′>3 Вторник</th>
    </TR>
  </thead>

  <tbody>
    <TR класса = «прогноз»>
      <ТД width = "100′>
        <UL>
          <ли класса = «высокий»>Высокая: 72&град;F</ли>
          <ли класса = «низкая»>Низкая: 44&град;F</ли>
          <ли класса = «состояние»>Солнечный
            <img src =’
HTTP://deskwx.WeatherBug.com/Images/Forecast/icons/localized/60×50/EN/TRANS/cond007.PNG’ Ширина ='42’ Высота ='42’ ALT =” />
          </ли>
        </UL>
      </ТД>
    </TR>

  </tbody>

</Таблица>

Можно отметить, что хотя путь к изображению, сам показывает надлежащее измерение (60×50) первоначальный поставщик вынудил его в 42×42.  Почему?  Crazy.

В любом случае, Я хотел быстрого и простого решения этой проблемы, и я повернулся к jQuery.  Хитрость заключается в том, чтобы найти все соответствующие <IMG> Теги.  Я не хочу, чтобы сбросить карты с других тегов img (из которых есть много).  Этот бит jQuery сделал трюк:

<сценарий type = "текст/javascript" src ="HTTP://AJAX.googleapis.com/AJAX/libs/jQuery/1.5/jQuery.min.js"></сценарий>

<сценарий type = «текст/javascript»>
     $(документ).готов(функция () {

         $(' li.condition > IMG').Каждый(функция (индекс, пункт)
           
{
             $(пункт).CSS(«Ширина», «60»); 
             $(пункт).CSS(«Высота», «50»);
            });
     }); // при загрузке документа
</сценарий>

Что немного кода находит коллекции <ли> Теги, чей класс является «условие» и <IMG> дети.  Затем выполняется итерация всего этого.  Работал как Шарм.

Я мог бы вероятно рационализировать, но я никогда не был вида парень unix, решена π Кому 18 точность цифр с помощью sed и awk и я не такого рода, если jQuery парень, либо Улыбка.

</конец>

Подписаться на мой блог.

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

Взять под контроль ваши OK и отмена кнопок

Я написал Эта статья некоторое время назад, но похоже я не связать его с моего блога в то время, так что здесь идет:

image

В этой статье описывается способ принудительного newform.aspx перенаправить на одну страницу, когда пользователь нажимает кнопку OK и другую страницу, когда она щелкает Отмена.

</конец>

Подписаться на мой блог.

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

Быстрый Подсказка: Добавление jQuery Мосс страницы публикации

При повышении Мосс публикации страниц с помощью jQuery, Я ударил следующие скорость bump:

Ошибка сервера в ' /’ Приложение.


Ошибка синтаксического анализа

Описание: Произошла ошибка при обработке ресурсов, требуемых для обслуживания этого запроса. Пожалуйста просмотрите следующие сведения об ошибке разбора конкретных и соответствующим образом изменить исходный файл.

Сообщение об ошибке синтаксического анализатора: Допускаются только элементы управления содержимым непосредственно в страницу содержимого, которая содержит элементы управления содержимым.

Ошибка источника:

 
Line 10: 
Line 11: 
Line 12: <script 
Line 13:     type="text/javascript" 
Line 14:     src="/jQuery/jquery-1.4.min.js"> 

Исходный файл: /_catalogs/masterpage/KCC_FacultyMember.aspx    Линия: 12


Информация о версии: Корпорация Майкрософт.NET Framework версии:2.0.50727.4927; ASP.NET версии:2.0.50727.4927

Это было достаточно легко исправить (h/t к моему коллеге, Удай Ethirajulu).  Убедитесь, что код jQuery живет внутри «PlaceHolderAdditionalPageHead», как показано:

<ASP:Содержание ContentPlaceholderID = «PlaceHolderAdditionalPageHead" runat = «server»>

<сценарий

    Type = text/javascript""

    src="/jQuery/jQuery-1.4.min.js»>

</сценарий>

<сценарий type = «текст/javascript»>

  $(документ).готов(функция() {

   // Блестящий jQuery вещи идет здесь.

   });

</сценарий>

</конец>

Подписаться на мой блог.

Следуй за мной по щебетать на http://www.twitter.com/pagalvin