Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / отступ / 21 сообщений из 21, страница 1 из 1
14.08.2013, 00:46
    #38365484
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отступ
есть надпись и элемент управления (куда будем вносить данные, либо делать выборку)
между ними нужно сделать отступ (фиксированный) так как это делает таблица: один столбец - все метки, другой - элементы.
долго обьяснять но через трудности с php/html/js я не могу сделать таблицу. можно как-то задать стилями такой отступ ?
...
Рейтинг: 0 / 0
14.08.2013, 00:46
    #38365485
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отступ
пример
...
Рейтинг: 0 / 0
14.08.2013, 00:49
    #38365486
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отступ
сложно сделать по той причине, что страница не перегружается, а догружается, но трудность не в том
...
Рейтинг: 0 / 0
14.08.2013, 00:54
    #38365490
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отступ
у меня 9 таблиц. до 9 может быть вложений, категорий, рубрик... Кроме категорий, я могу указать прямо в базе вывести на экран поле, либо поле со списком. он работает. данные подружаются с таблицы следующей по уровню. а сегодня доделал поле со списокм, при выборе значения которое подгружает еще одно поле со списком на уровень дальше. в примере видно: после выбора "марка автомобиля", догружается поле со списком "модель". в целом - все делают 9 таблиц.
...
Рейтинг: 0 / 0
14.08.2013, 00:55
    #38365491
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отступ
по этой причине очень сложно мне использовать таблицу. если есть какой другой вариант форматирования кроме таблиц чтоб элементы ровненько были плз прошу помочь.
...
Рейтинг: 0 / 0
14.08.2013, 02:16
    #38365522
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отступ
если получится в таблицу (не в конце) с помощью js DOM после <tr><td>марка</td><td>поле со списокм</td></tr> засунуть <tr><td>модель</td><td>поле со списокм</td></tr>, то вопрос и так можно решить, но у меня не получается пока что
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
function UnivSelect(mthis,idpole, nmlabel){
	var list = mthis.parentElement.parentElement;
	var v=mthis.value;
	var tr=document.createElement('tr');
	var td1=document.createElement('td');
	var td2=document.createElement('td');
	
	
	var r=mthis.attributes['riv'].value;
	var d=mthis.attributes['dlbl'].value;
	var s=document.createElement('span');
	s.style.paddingLeft=((r-1)*20);
	s.id=idpole;
	
	td2.appendChild(s);
	tr.appendChild(td1);
	tr.appendChild(td2);
	
	list.appendChild(tr);// ЭТО НЕ ПРАВИЛЬНО!!! НУЖНО ВСТАВИТЬ ПОСЛЕ НОДА list тоесть <tr>.....</tr> внутри таблицы

	mpost('','univrubr=1&nmel='+idpole+'&lbl='+nmlabel+'&rubrika=1&rb'+(+r+1)+'='+v);
}
...
Рейтинг: 0 / 0
14.08.2013, 02:19
    #38365523
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отступ
было бы проще и лучше как-то без таблицы (если возможно). хелп
...
Рейтинг: 0 / 0
14.08.2013, 08:34
    #38365592
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отступ
...
Рейтинг: 0 / 0
14.08.2013, 10:07
    #38365675
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отступ
за форматирование спасибо. не выходит у меня по той причине, что когда я разрабатывал код я использовал <span>....</span><br>
а мой блок встраивался внутрь и выглядело все отлично кроме отступа, тоесть второй уровень вот так выглядел:
<span>....<span>....</span><br></span><br>. он находится в конце того ж блока. По той причине - что бы я не делал (пробовал div, table) блок встроится внутри другого блока и даже метка такого не попустит
<label uroven="1">text<select>...</select><label uroven="2">text<input>...</input></label></label>

Вобщем проблема с скрыптом. Нужно скрипт как-то переделывать.
чтоб "апенд_чилд" сразу не использовать, а сначало вычеслить в каком масиве находится "чилд" сравнительно с родителем, а потом уже можно обращаться к родителю типа так obj.children[3] и уже добавлять в конец элемент. Плюс я потом должен продумать как удалять этот элемент на случай если пользователь повторно будет делать выборку с combo, чтоб не было дублирований вложений. не хватает практики по DOM, по этому такие заморочки и получились.

Первое что нужно - как узнать (если это таблица) obj.children[индекс <tr> в котором this.parentElement.parentElement элемент ?]
...
Рейтинг: 0 / 0
14.08.2013, 10:14
    #38365687
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отступ
Андрей159Первое что нужно - как узнать (если это таблица) obj.children[индекс <tr> в котором this.parentElement.parentElement элемент ?]
Из этого вообще ничего не понял...
...
Рейтинг: 0 / 0
14.08.2013, 10:44
    #38365741
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отступ
не понял ?
представь есть: страна, область, район, город, поле1 и поле со списком
для страны/область/район/город - я не буду делать отдельные таблицы ни сейчас, ни в будущем. у меня до 9 вложений может быть
просто напротив значения "страна" я указываю тип чтоб отображалось не как меню (категория), а поле со списком и что там есть вложение. На PHP сервере работает алгоритм и он выводит информацию в html в цыкле, показав мне поле со списком "Страна" и заполнив там данные, так работают все элементы. Но. "область", "район" и "город" нет еще в бравзере, даже скрыто нет. есть событие для списка "страна", котороые генерирует отправку сообщения на сервер, тот дает ответ и ява скрипт должен создать сначало новый элемент и заполнить его innerHTML данными. данные заполняются по "id" элемента. что именно не получается ? не получается вставить новый элемент после предыдущего. В событии я передаю параметр this. таким образом я знаю что пользователь сделал change в COMBO элементе, но таких комбо много. И скрипт должен создать еще одно COMBO (простым способом через innerHTML) но в нужном месте - после двох родителей <select>. два родителя - это например - таблица. где <select> находился в <tr><td><select></select></td></tr>.

<table>
<tr><td><select></select></td></tr>
<tr><td><select></select></td></tr>
<tr><td><select></select></td></tr>
<tr><td><select></select></td></tr>
<tr><td><select></select></td></tr> this говорит что я нажал сюда
<tr><td><select></select></td></tr> а сюда нужно вставить свежую запись
<tr><td><select></select></td></tr>
<tr><td><select></select></td></tr>
<tr><td><select></select></td></tr>
<tr><td><select></select></td></tr>
<tr><td><select></select></td></tr>
</table>

тоесть нужно 1. узнать свой индекс в дереве, 2.выйти из <tr> на родиетля - это <table> и указать ему что нужно создать child в конкретном индексе. и вся задача
...
Рейтинг: 0 / 0
14.08.2013, 12:32
    #38365972
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отступ
если не ошибаюсь то узнать индекс могу так cellIndex
теперь остается как-то добавить после нужного масива "чилд"
...
Рейтинг: 0 / 0
14.08.2013, 12:52
    #38366025
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отступ
ошибся. переделал в таблицу. сюда подходит rowIndex чтоб узнать точное положение

list.rowIndex
list.nextElementSibling.rowIndex

работает

остается только добавить row в нужное место. пока эксперименты
...
Рейтинг: 0 / 0
14.08.2013, 13:06
    #38366053
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отступ
Андрей159переделал в таблицу. сюда подходит rowIndex чтоб узнать точное положение

остается только добавить row в нужное место. пока эксперименты
Если у тебя есть rowIndex - остается только воспользоваться методом insertRow(), правильно указав ему нужный индекс...
...
Рейтинг: 0 / 0
14.08.2013, 13:34
    #38366107
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отступ
ага. спасибо. нашел.
var table=list.parentElement;
var row=table.insertRow(2);
var cell1=row.insertCell(0);
var cell2=row.insertCell(1);
cell2.id=idpole;
cell1.innerHTML="New";
cell2.innerHTML=d;





Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
function UnivSelect(mthis,idpole, nmlabel){
	var list = mthis.parentElement.parentElement;
	var table=list.parentElement;
	var i=list.rowIndex;
	var v=mthis.value;
	
	var r=mthis.attributes['riv'].value;
	var d=mthis.attributes['dlbl'].value;
	var s=document.createElement('span');
	s.style.paddingLeft=((+r-1)*20);
	
        // сдесь я сделаю отступ метки к элементу чтоб отобразить глубину вхождений
	//d1.innerHTML=d;
	//d2.appendChild(s);
	
	//list.appendChild(d1);
	//list.appendChild(d2);
	
	

var row=table.insertRow(v+1);
var cell1=row.insertCell(0);
var cell2=row.insertCell(1);
cell2.id=idpole;
cell1.innerHTML=nmlabel;
cell2.innerHTML=d;
	mpost('','univrubr=1&nmel='+idpole+'&lbl='+nmlabel+'&rubrika=1&rb'+(+r+1)+'='+v);
}



дальше сам. только этот способ хренов тем что, если будет не одно вложения а два, то уже прийдется искать child (который легче удалить), а искать следующий элемент, а за ним еще один (как-то нужно их метить, и в скрипте предвидеть все)
...
Рейтинг: 0 / 0
14.08.2013, 13:47
    #38366133
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отступ
Андрей159только этот способ хренов тем что ...
Я за способ не в ответе... Я могу ответить на какой-то конкретный вопрос.

Решение проблем забесплатно меня не устраивает.
...
Рейтинг: 0 / 0
14.08.2013, 14:03
    #38366162
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отступ
я понял. я и сам только этим и живу. хорошие плоды есть с VB6. а с php я столкнулся год назад. js очень крутой. мне понравился (сначало с насмешкой относился). одну вещь понял. народ почти ничего не делает и почти не умеет (все только на конструкторах сайты ставят, проблемы те же, морально устаревшие недостатки и т.д.). есть приличные шансы конкурировать. все. поэтому я в бой пошел. работаю. в будущем готов помагать всем кто оказал помощь. да и сам делюсь чем считаю нужным. на vb есть мои статьи где я не спрашиваю а просто пишу как сделать. правда каждый програмись должен иметь свою библиотеку, которую в случай чего только подключать (прикрутить :) ). можно считать работу с DOM просто уроком, так как там не совсем сложно, но если не знаешь, сразу не понять.
...
Рейтинг: 0 / 0
14.08.2013, 20:46
    #38366798
deblogger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отступ
В будущем вас ждут чрезвычайные проблемы. Вы с самого начала пошли прямым путем и ожидаемо заблудились к чертям.

Андрей159не понял ?
представь есть: страна, область, район, город, поле1 и поле со списком
для страны/область/район/город - я не буду делать отдельные таблицы ни сейчас, ни в будущем. у меня до 9 вложений может быть

<table>
<tr><td><select></select></td></tr>
<tr><td><select></select></td></tr>
<tr><td><select></select></td></tr>
<tr><td><select></select></td></tr>
<tr><td><select></select></td></tr> this говорит что я нажал сюда
<tr><td><select></select></td></tr> а сюда нужно вставить свежую запись
<tr><td><select></select></td></tr>
<tr><td><select></select></td></tr>
<tr><td><select></select></td></tr>
<tr><td><select></select></td></tr>
<tr><td><select></select></td></tr>
</table>


Да хоть стопицот вложений - это делается через breadcumbs

Страна - Город - Улица - Дом - Квартира - Угол - Койка - Подушка - Клоп

Каждая крошка - ссылка. Ходи куда хочешь. МОжно каждую крошку сделать списком? Конечно. Список - это уже таблица. В строгой иерархии связывать проще пареной. Value элемента указывает на value связанного элемента, у которого точно так же все связано.

автора сюда нужно вставить свежую

Вставляйте ul в li. Так все делают. Кому жизнь не дорога.
...
Рейтинг: 0 / 0
14.08.2013, 20:54
    #38366801
deblogger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отступ
Код: html
1.
2.
3.
4.
<table>
<tr><td><select></select></td></tr> this говорит что я нажал сюда
<tr><td><select></select></td></tr> а сюда нужно вставить свежую запись
</table>



Без перезагрузки страницы? Тогда ничего вставлять не надо - оно вставлено на этапе создания гтмл, но в дисплей ноне. Сделайте дисплей = "" и оно появится.
...
Рейтинг: 0 / 0
14.08.2013, 21:02
    #38366809
deblogger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отступ
Андрей159у меня 9 таблиц. до 9 может быть вложений,

Программист. Таблицы не вкладываются, но относятся. Из 9 штук можно наделать 81 отношение.

Если действительно отношения определяются только "вложением", то откуда вообще проблемы?
...
Рейтинг: 0 / 0
14.08.2013, 21:25
    #38366828
deblogger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отступ
Кстати, еще. Когда работаете с таблицами отправляйте команды серверу тоже в формате таблицы. Разработайте наиболее типичную структуру и сможете итерировать данные вместе с командами которые ничто иное как данные.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / отступ / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]