Search
Write a publication
Pull to refresh
31
0
Алексей @Silver_Clash

User

Send message
Ультрабук слово конечно интересное, но слишком уж часто встречается…
NFC отсутствует. У жены обчный RAZR — довольна. Единственная проблема была — все чехлы маловаты, подходящий нашли с трудом.
Допустим так, тогда поясните как у автора работает смена html кода после заворачивания его в span.
Мне почему то казалось что в this.$ как объект jQuery должна быть ссылка на DOM.
Разве проблема не в том что используется this.$.html(«далее идет строка с HTML кодом») вместо this.$.replaceWith? Руки чешутся проверить, но время то позднее :)
Хочется уточнить по поводу заворачивания статуса запроса в — разве replaceWith не решает описанной в тексте проблемы?
Указать цену было бы не лишним, а то про ценовой диапазон речь идет, вот только не понятно про какой именно.
С одной стороны да, с другой стороны — какой именно контроллер должен заниматься разграничением прав? :)

Если разграничения по страницам (маршрутам) достаточно, то на мой взгляд оптимальным будет разместить всю систему в одном контроллере, ослабив тем самым связи с другими контроллерами. В таком варианте это имеет непосредственное отношение к роутингу.
TROODON вариант хранения маршрутов в БД не рассматривался? А что если, например, необходимо будет разграничить права доступа пользователей к ресурсу в плоскости маршрутов (страниц с точки зрения пользователя)? Мне кажется, такие связи будет проще реализовать если хранить все в БД, или я ошибаюсь?
Ради интереса реализовал вариант с .detach() и .appendTo().
Поменял только скрипт поиска, и добавил один select на страницу:
<select size="10" id="hidden_list" style="display:none;">
	</select>


код скрипта:
$('#searchInput').bind('keyup', function() {
    var q = new RegExp($(this).val(), 'ig');
	$('#list, #hidden_list').find('option').each(function(){
		if ($(this).text().match(q)){
			$(this).parent('#hidden_list').size() ? $(this).detach().appendTo('#list') : null;
		}
		else{
			$(this).parent('#list').size() ? $(this).detach().appendTo('#hidden_list') : null;
		}	
	});
});


Рабочий пример можно посмотреть здесь.
все можно :)

Я отвечал в контексте текущей задачи. Здесь проблема скорее всего в том что задача неверно сформулирована. ИМХО самый верный вариант предложили в первом же комментарии.
Варианты с манипуляциями DOM я обдумывал просто ради спортивного интереса :)
я как раз это и предложил, просто реализовать пока не получается, со временем напряженка.
Но на самом деле такие манипуляции будут тяжелее чем сохранить весь список при помощи jQuery.data() и искать уже там.
Второе что приходит в голову — Wott прав, и стоило бы сделать загрузку данных аяксом с поиском на сервере. Но ситуации бывают всякие, и если так прижало что надо реализовать все на клиенте, то так же стоит обратить внимание на jQuery.data(). Сохраняем все в массиве, очищаем select полностью, обходим сохранённый массив при поиске и наполняем select. Это пожалуй самый правильный вариант. Вечером попробую накидать и этот вариант.
Навскидку приходит ещё один вариант:
1. Все option пометить классом 'searchable'.
2. Поиск производить по всем option с классом 'searchable'
3. Все option не соответствующие условию отбора помещать в другой select на котором установлено display:none. Все option соответствующие условию отбора помещать в исходный select.

Вроде бы должно работать. Завтра попробую реализовать в коде… сегодня уже поздновато.
Думаю устраивать холивар по поводу того какой способ быстрее — бессмысленно, но все же отмечу: у меня файл размером более 30 000 строк генерируется без каких либо задержек (так же быстро как и файл). Думаю здесь довольно большое значение будет иметь скорость работы БД.
Спасибо за ссылку, она с самого начала была приведена в конце топика :)
Вот пример текста файла:
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">
    <Styles>
        <Style ss:ID="bold">
            <Font ss:Bold="1"/>
        </Style>
    </Styles>
    <Worksheet ss:Name="manual">
        <Table>
            <Row>
                <Cell ss:StyleID="bold"><Data ss:Type="String">h1</Data></Cell>
                <Cell ss:StyleID="bold"><Data ss:Type="String">h2</Data></Cell>
                <Cell ss:StyleID="bold"><Data ss:Type="String">h3</Data></Cell>
                <Cell ss:StyleID="bold"><Data ss:Type="String">h4</Data></Cell>
                <Cell ss:StyleID="bold"><Data ss:Type="String">h5</Data></Cell>
            </Row>
            <Row>
                <Cell><Data ss:Type="String">data11</Data></Cell>
                <Cell><Data ss:Type="String">data12</Data></Cell>
                <Cell><Data ss:Type="String">data13</Data></Cell>
                <Cell><Data ss:Type="String">data14</Data></Cell>
                <Cell><Data ss:Type="String">data15</Data></Cell>
            </Row>
            <Row>
                <Cell><Data ss:Type="String">data22</Data></Cell>
                <Cell><Data ss:Type="String">data23</Data></Cell>
                <Cell><Data ss:Type="String">data21</Data></Cell>
                <Cell><Data ss:Type="String">data24</Data></Cell>
                <Cell><Data ss:Type="String">data25</Data></Cell>
            </Row>
            <Row>
                <Cell><Data ss:Type="String">data31</Data></Cell>
                <Cell><Data ss:Type="String">data32</Data></Cell>
                <Cell><Data ss:Type="String">data33</Data></Cell>
                <Cell><Data ss:Type="String">data34</Data></Cell>
                <Cell><Data ss:Type="String">data35</Data></Cell>
            </Row>
            <Row>
                <Cell><Data ss:Type="String">data41</Data></Cell>
                <Cell><Data ss:Type="String">data42</Data></Cell>
                <Cell><Data ss:Type="String">data43</Data></Cell>
                <Cell><Data ss:Type="String">data44</Data></Cell>
                <Cell><Data ss:Type="String">data45</Data></Cell>
            </Row>
        </Table>
    </Worksheet>
</Workbook>


Таким методом я генерировал файлы размером более 2 мегабайт и более 30 000 строк.
Предупреждение действительно появляется. Оно гласит что расширение не соотвествует контенту, и необходимо убедиться что файл не поврежден и получен из достоверного источника. Если файл назвать *.xml то предупреждения не будет, но может случиться так что файл будет открыт не в Excel.

Файл приготовил, только пока не нашел как его прицепить к топику…
Этот вопрос тоже достаточно интересен, но сейчас меня больше интересует непосредственно копирование/вставка диапазона ячеек из листа Excel на страницу браузера (то есть некоторый аналог Google docs). Правда это имеет мало отношения к PHP.
Этот нюанс я упустил. Поправлю топик вечером. Достаточно в заголовках указать расширение xls. Excel отлично работает с такими файлами.
К сожалению прямо сейчас примера под рукой нет. Завтра сделаю обязательно.
PHPExcel не пробовал, т.к. с лихвой хватает описанного выше метода. Сейчас обдумывается обратное направление движения информации — из Excel в браузер.
12 ...
23

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity