Jump to content
  • 0

Способ обращения к тегу <div>


новичок
 Share

Question

Подскажите пожалуйста очень-очень надо!!! Имеется меню Select и пустой

. Из меню в

можно добавлять элементы (1.а; 2b; 3.с). Как обратиться к
, чтобы вычислить сумму этих элементов??? Заранее благодарен за ответ.
Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Ничего не понял, каким образом туда добавляются элементы, в каком виде? Что такое вот это - 1.а; 2b; 3.с? Или это поздно или я не отошел от вчерашнего, но я себе сейчас голову поломаю.

К диву document.getElementById("DIVid").что такое? Как эти элементы выглядят хоть? Просто текст или там три разных поля? Если три поля то возможно:

value1 = document.getElementById("field1").value
value2 = document.getElementById("field2").value
value3 = document.getElementById("field3").value
sum = value1 + value2 + value3

А вообще, хоть я и развиваю свои экстрасенсорные способности, я просто не понимаю ничего

Link to comment
Share on other sites

  • 0

из http://forum.htmlbook.ru/index.php?showtopic=4334

Как обратиться к
, чтобы вычислить сумму добавленых элементов. (обращение должно быть к DIV, а не к SELECT)??????

Через childNodes елемента div. Что-то вроде этого:

function divCountNestedElements(tName, divId) // tName='select', divId='dvput';
{
var div = gebi(divId),
e=div.childNodes.length,
eCount=0;
while(e--){
var child = div.childNodes[e].tagName && div.childNodes[e].tagName.toLowerCase();
if (child==tName) eCount++;
}
return eCount;
}

З.Ы. код в порядок приведи. читать его не удобно

Link to comment
Share on other sites

  • 0

Не пойму как привязать Ваш код к моему. Ниже выкладываю код с дописаным скриптом

для вычислений. Но в нем обращение происходит к SELECT, а не к DIV. Посмотрите пожалуйста.

<HTML>
<HEAD>
<SCRIPT language=JavaScript >
var nodes = 4;
P = new Array(nodes)
for (i=0; i < nodes; i++) {
P[i] = new Array(nodes)
for (j=0; j < nodes; j++) {
P[i][j] = "["+i+","+j+"]"
}
}
D = new Array(nodes)
for (i=0; i < nodes; i++) {
D[i] = new Array(nodes)
for (j=0; j < nodes; j++) {
D[i][j] = "0";
}
}
//Array for path names
var Name = new Array(nodes);
Name[0] = "";
Name[1] = "a";
Name[2] = "g";
Name[3] = "c";

P[0][0]="0"
P[1][0]="1,0"
P[2][0]="2,0"
P[3][0]="3,0"

P[0][1]="0,1"
P[1][1]="1,1"
P[2][1]="2,1"
P[3][1]="3,1"

P[0][2]="0,2"
P[1][2]="1,2"
P[2][2]="2"
P[3][2]="3,2"

P[0][3]="0,3"
P[1][3]="1,3"
P[2][3]="2,3"
P[3][3]="3"

D[0][1]="0"
D[1][1]="1"
D[2][1]="8"
D[3][1]="7"
D[0][2]="0"
D[1][2]="8"
D[2][2]="2"
D[3][2]="9"
D[0][3]="0"
D[1][3]="7"
D[2][3]="9"
D[3][3]="3"
D[0][0]="0"
D[1][0]="0"
D[2][0]="0"
D[3][0]="0"

function calc(form)
{

var sel_punkt_iz=form.sel_punkt_iz.options[form.sel_punkt_iz.selectedIndex].value;
var sel_punkt_v=form.sel_punkt_v.options[form.sel_punkt_v.selectedIndex].value;

var DD = 0;
var v = new Array();
if (P[sel_punkt_iz][sel_punkt_v] != 0) {
v = P[sel_punkt_iz][sel_punkt_v];
v = v.split(",")
for (i = 0; i < (v.length - 1); i++) {
DD+= Number(D[v[i]][v[i+1]]);
}
}
form.T.value = DD;
}
</SCRIPT>

<SCRIPT language=JavaScript>
var put=new Array();
var punkt_iz,punkt_v;
function gebi(name){return document.getElementById(name);};
function on_load(){punkt_iz=gebi("sel_punkt_iz");punkt_v=gebi("sel_punkt_v");};
function sel_txt(sel){return sel.options[sel.selectedIndex].text;};
function refresh_put(){var dvput=gebi("dvput");
var b="<table width=100% height=0% cellpadding=0 cellspacing=0 border=0>";
{b+="<tr><td width=100% class='txt' title='"+punkt_iz+"'>1. "+sel_txt(punkt_iz)+"</td><td colspan=3> </td><tr>";};
for(var i=0;i<put.length;i++)
{b+="<tr><td width=100% class='txt' title='"+put[i][2]+"'>"+(i+2)+". "+put[i][1]+"</td><td>";b+=" </td><tr>";};
{b+="<tr><td width=100% class='txt' title='"+punkt_v+"'>"+(put.length+2)+". "+sel_txt(punkt_v)+"</td><td colspan=3> </td><tr>";}; b+="</table>";dvput.innerHTML=b;};

</SCRIPT>
</HEAD>
<BODY >
<FORM id=frm name="frm">
<SELECT class=inp
id=sel_punkt_iz style="WIDTH: 200px"
onchange=refresh_put() name=sel_punkt_iz>
<OPTION value=0><OPTION
value=1>a<OPTION
value=2>g<OPTION
value=3 >c</OPTION></SELECT>

<SELECT class=inp
id=sel_punkt_v style="WIDTH: 200px"
onchange=refresh_put()
name=sel_punkt_v> <OPTION value=0><OPTION
value=1>a<OPTION
value=2>g<OPTION
value=3 >c</OPTION></SELECT>

<DIV class=dvput id=dvput
name="dvput"></DIV>

</BR></BR></BR></BR>
<INPUT class=txt1 type=text size=10 value="" name=T>
</BR></BR></BR></BR>
<INPUT onclick=calc(this.form) type=button value="Расчет " >
</FORM>
<SCRIPT language=JavaScript>on_load();</SCRIPT>
</BODY></HTML>

Link to comment
Share on other sites

  • 0

2 новичок, твой код конечно супер......... токмо поясни для чего он? и зачем тебе обращение к значениям переданным в div? чем не устраивает select?

Если ну очень надо вытащить значения из див...(вернее из таблицы)

function divReturnNestedValues(tName, divId) // tName='td', divId='dvput';
{
var div = gebi(divId).getElementsByTagName(tName),
e=div.length,
eCount=array(),
i=0;
for(;i<e;i+=2) eCount.push(div[i].innerHTML);
return eCount; //alert (eCount);
}

Ессно дело на выходе будет информация типа String, причем формата ['1. a','2. g'] и т.п. Так что надо думать о другом варианте, если не хочешь заморачиваться с работой над текстовыми переменными. А другие варианты конечно же есть.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy