powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Jquery - диалог
7 сообщений из 7, страница 1 из 1
Jquery - диалог
    #35835605
БлинКомом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу помощи в тривиальной собственно задаче с jquery:
при нажатии на кнопку открывается модальное окно, куда загружаются данные Ajax запроса.

Сделал что-то типа:
Код: plaintext
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.
29.
30.
31.
32.
33.
СТРАНИЧКА

<table>
<tr>
<td id=s_conts>	<img src="./img/p_contacts.gif"></td>
</tr>
</table>
<div id=dialog></div>

JS-script

$(document).ready(function(){

	$("#s_conts").click(function(){
		var request = CreateRequest('URL.php?function=load_cont_list');
    		if (CheckRequest(request)){
			var xmlparam = request.responseXML.documentElement.getElementsByTagName("event");
			for (i =  0 ; i <= xmlparam.length- 1 ; i++){
			    var newItem = document.createElement("P");
	    		    newItem.appendChild(document.createTextNode(xmlparam[i].getElementsByTagName("CID")[ 0 ].firstChild.nodeValue+' '+xmlparam[i].getElementsByTagName("FIO")[ 0 ].firstChild.nodeValue));
			    document.getElementById("dialog").appendChild(newItem);	    		    
			}
   		}		
                $("#dialog").dialog({
			bgiframe: true,
			height:  600 ,
			width:  800 ,
			modal: true
	});
        });

});    


Не могу заставить это работать в Chrome. В остальных браузерах вроде работает.


P.S. В JS новичок абсолютно - комментарии неточностей в коде или предложение альтернативных вариантов приветствуются
...
Рейтинг: 0 / 0
Jquery - диалог
    #35839021
БлинКомом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос снимается - поместил все в табличку, отображается теперь везде.

Но появился другой, помогите, плиз? :)

Вывожу данные в диалог в виде таблицы.
Строка таблицы состоит из двух ячеек - в одной содержится checkbox, при клике на вторую вызывается еще один диалог.

Как бы мне средствами jquery (или просто Javascript) в этом новом диалоге получить значение value чекбокса из той же строки, по клику на которую диалог открылся?

Что-то мои эксперименты с parent() и children() никакого результата не дают :(

Страничка:
Код: plaintext
1.
2.
3.
4.
<img src="./img/p_contacts.gif" id=s_conts>

<div id=dialog></div>
<div id=subdialog></div>

JS
Код: plaintext
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.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
$(document).ready(function(){

	$('#td_cont').live('click', function(){

// Сюда нужен код, запрашивающий значение value 

        $("#subdialog").dialog({
		bgiframe: true,
		height:  450 ,
		width:  600 ,
		modal: true
	    });
	});

	$("#s_conts").click(function(){
		var oneChild;
		var mainObj = document.getElementById("dialog");
		while (mainObj.childNodes.length >  0 ) {
		    oneChild = mainObj.lastChild;
		    mainObj.removeChild(oneChild);
		}
	        var newTable = document.createElement('table');
		var tbody = document.createElement('tbody');
		
		newTable.appendChild(tbody);		
		
		var request = CreateRequest('/syncml/syncml.php?function=syncml_cont_list&sortby=1&sortto=0&page=2');
		
    		if (CheckRequest(request)){
			var xmlparam = request.responseXML.documentElement.getElementsByTagName("event");
			for (i =  0 ; i <= xmlparam.length- 1 ; i++){
			    var cid = xmlparam[i].getElementsByTagName("CID")[ 0 ].firstChild.nodeValue;
			    var newItem = document.createElement("tr");
			    newItem.id = 'item_contact';

			    var newTd = document.createElement('td');
			    var newChk = document.createElement('input');
			    newChk.type = 'checkbox';
			    newChk.name = 'c_id';
			    newChk.value = cid;
			    newTd.appendChild(newChk);
			    newItem.appendChild(newTd);

			    var newTd = document.createElement('td');
			    newTd.innerHTML = xmlparam[i].getElementsByTagName("FIO")[ 0 ].firstChild.nodeValue;
			    newTd.id='td_cont';
			    newItem.appendChild(newTd);

			    tbody.appendChild(newItem);
			}
   		}
   		mainObj.appendChild(newTable);   		
                $("#dialog").dialog({
			bgiframe: true,
			height:  600 ,
			width:  800 ,
			modal: true
	});
        });

});    


...
Рейтинг: 0 / 0
Jquery - диалог
    #35840345
Фотография Frenzy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если у вас диалоги из жквери, то никакие пэренты-чилдрены вам не нужны - у вас всё в одном окне. получить значение чекбокса можно по его id или имени, например:

Код: plaintext
$('#ид_чекбокса').val()

_______________________________________
2pro4U
...
Рейтинг: 0 / 0
Jquery - диалог
    #35841026
БлинКомом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так я не знаю id чекбокса.
Знаю только, что он в той же строке таблицы.
...
Рейтинг: 0 / 0
Jquery - диалог
    #35842434
Фотография Frenzy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БлинКомомТак я не знаю id чекбокса.
Знаю только, что он в той же строке таблицы.

по-хорошему вам нужно формировать ид чекбокса. такой чтобы можно было его узнать на основании ида тд на который кликают. а то иначе изменится разметка и придётся скрипты переписывать.

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

Код: plaintext
1.
2.
3.
4.
...
var checkbox = $(this).prev().children().get( 0 );
alert($(checkbox).val());
alert($(checkbox).attr('checked'));
...

_______________________________________
2pro4U
...
Рейтинг: 0 / 0
Jquery - диалог
    #35849780
БлинКомом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пасибо.
Еще один небольшой вопрос по диалогам.

Окно диалога открывается всего один раз - после закрытия, второй раз его можно открыть только после перезагрузки страницы целиком.
Я так понимаю, что проблема в том, что DOM при закрытии диалога не чистится, как бы это преодолеть?
...
Рейтинг: 0 / 0
Jquery - диалог
    #35850629
БлинКомом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вставил перед открытием диалога строку

$("#dialog").dialog("destroy");

В принципе помогло, не знаю, насколько это верный подход только :)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Jquery - диалог
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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