Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Выбор из списка
 
 автор: Lacky   (26.02.2007 в 13:42)   письмо автору
 
 

Люди хелп!
На странице нужно выбрать из выдвигающегося списка необходимую модель телефона, в соседнем окне выбрать модель и нажать ОК! Сделал список производителей, но не могу понять каким образом добиться того, чтобы при выборе определённого производителя рядом в списке можно было выбрать только модели указанного производителя! К примеру: Выбираю нокиа, рядом в окне выбираю модель именно нокии, если выбрал сонерик, аналагично! Может не достаточно понятно объяснил... как сумел! Заранее спс...

   
 
 автор: Tread   (26.02.2007 в 13:49)   письмо автору
 
   для: Lacky   (26.02.2007 в 13:42)
 

Надо использовать JavaScript
пример такого действа
<HTML>
<HEAD>

<META http-equiv=Content-Type content="text/html; charset=windows-1251">
<LINK href="/css/iasstyle.css" type=text/css rel=stylesheet>

</HEAD>
<BODY class=content leftMargin=0 topMargin=0 marginheight=0 marginwidth=0 onload=ClickRadio(5)>
<TABLE cellSpacing=1 cellPadding=0 width=648 height=100% align=center border=0>
<TR>
<TD style="border: #295DBB 1px solid;" valign=top>
<FORM ACTION="WEB_DEK_MARK_KARTA_EX" METHOD="Post" onsubmit="return submitform();" target="map">
<SCRIPT LANGUAGE="JavaScript">
function ClickRadio(tb) {
if (tb==1) {
document.all("tb_kurs_rep").style.display = "none";
document.all("tb_spec_rep").style.display = "none";
document.all("tb_group_rep").style.display = "none";
}
if (tb==2) {
document.all("tb_kurs_rep").style.display = "";
document.all("tb_spec_rep").style.display = "none";
document.all("tb_group_rep").style.display = "none";
}
if (tb==3) {
document.all("tb_kurs_rep").style.display = "none";
document.all("tb_spec_rep").style.display = "";
document.all("tb_group_rep").style.display = "none";
}
if (tb==5) {
document.all("tb_kurs_rep").style.display = "none";
document.all("tb_spec_rep").style.display = "none";
document.all("tb_group_rep").style.display = "";
ClickKursorGroup(1);
}
if (tb==4) {
document.all("tb_kurs_rep").style.display = "";
document.all("tb_spec_rep").style.display = "";
document.all("tb_group_rep").style.display = "none";
}
}

M1=[
"ЕП-06-1",
"ЕП-06-2",
"ПМ-06-1",
"ПМ-06-2",
"ПМ-06-3",
"ПМ-06-4",
];
M2=[
"ЕП-05-1",
"ЕП-05-2",
"ПМ-05-1",
"ПМ-05-2",
"ПМ-05-3",
"ПМ-05-4",
];
M3=[
"ІНФ-04-1",
"ІНФ-04-2",
"ЕК-04-1",
"ЕК-04-2",
"ЕК-04-3",
"ЕП-04-1",
"ЕП-04-2",
"ПМ-04-1",
"ПМ-04-2",
"ПМ-04-3",
"ПМ-04-4",
"ПМ-04-5",
"СІ-04-1",
"САУ-04-1",
];
M4=[
"ІНФ-03-1",
"ІНФ-03-2",
"ІНФ-03-3",
"ЕК-03-1",
"ЕК-03-2",
"ЕК-03-3",
"ПМ-03-1",
"САУ-03-1",
"САУ-03-2",
];
M5=[
"ІНФ-02-1",
"ІНФ-02-2",
"ІНФ-02-3",
"ІНФ-06-1",
"ІНФ-06-2",
"ІНФм-06-1",
"ЕК-02-1",
"ЕК-02-2",
"ЕК-02-3",
"ЕК-02-4",
"ЕК-06-1",
"ЕК-06-2",
"ЕК-06-3",
"ЕК-06-4",
"КС-02-1",
"ПМ-02-1",
"ПМм-06-1",
"ПМс-06-1",
"САУ-02-1",
"САУ-02-2",
"САУ-06-1",
];
M6=[
"ІНФ-01-1",
"ІНФ-01-2",
"ІНФ-01-3",
"ЕК-01-1",
"ЕК-01-2",
"ЕК-01-3",
"ЕК-01-4",
"КС-01-1",
"ПМ-01-1",
"САУ-01-1",
"САУ-01-2",
];
M7=[
"ІНФ-00-1",
"ІНФ-00-2",
"ІНФ-00-3",
"ЕК-00-1",
"ЕК-00-2",
"ЕК-00-3",
"ЕК-00-4",
"КС-00-1",
"ПМ-00-1",
"САУ-00-1",
"САУ-00-2",
];
M8=[
"ІНФ-99-1",
"ІНФ-99-2",
"ЕК-99-1",
"ЕК-99-2",
"ПМ-99-1",
"САУ-99-1",
];

function ClickKursorGroup(kurs) {
Str = "";
if (kurs==1) for (i in M1 ) Str += "<OPTION>"+M1[i];
if (kurs==2) for (i in M2 ) Str += "<OPTION>"+M2[i];
if (kurs==3) for (i in M3 ) Str += "<OPTION>"+M3[i];
if (kurs==4) for (i in M4 ) Str += "<OPTION>"+M4[i];
if (kurs==5) for (i in M5 ) Str += "<OPTION>"+M5[i];
if (kurs==6) for (i in M6 ) Str += "<OPTION>"+M6[i];
if (kurs==7) for (i in M7 ) Str += "<OPTION>"+M7[i];
if (kurs==8) for (i in M8 ) Str += "<OPTION>"+M8[i];
document.all("ipNameGroup").outerHTML = "<SELECT NAME='ipNameGroup'>"+Str+"</SELECT>";
}

</SCRIPT>
<FONT FACE="Times New Roman, Times, serif">
<H4 ALIGN="center"><BR>Параметри вибору групи</H4>
</FONT>
<HR>
<TABLE ALIGN="center" CELLPADDING="0" CELLSPACING="0" border="0" width="600" style="{display: none; }" >
<TR>
<TD Height="40" width="20%"><INPUT TYPE=RADIO NAME=ipFaculty VALUE=1 onClick="ClickRadio(1)">
<FONT size="3">&nbspВсі групи факультету</FONT></TD>
<TD width="15%"><INPUT TYPE=RADIO NAME=ipFaculty VALUE=2 onClick="ClickRadio(2)">
<FONT size="3">&nbspГрупи курсу</FONT></TD>
<TD width="30%"><INPUT TYPE=RADIO NAME=ipFaculty VALUE=3 onClick="ClickRadio(3)">
<FONT size="3">&nbspГрупи спеціальності/напрямку</FONT></TD>
</TR>
<TR>
<TD width="15%"><INPUT TYPE=RADIO NAME=ipFaculty VALUE=5 CHECKED=true onClick="ClickRadio(5)">
<FONT size="3">&nbspВибрана група</FONT></TD>
<TD colspan=2><INPUT TYPE=RADIO NAME=ipFaculty VALUE=4 onClick="ClickRadio(4)">
<FONT size="3">&nbspГрупи курсу та спеціальності/напрямку</FONT></TD>
</TR>
</TABLE>
<BR>
<SCRIPT LANGUAGE="JavaScript">
function submitform() {
var StrKurs = new String("");
for (i=1;i<7;i++) {
if (document.all("ipKurs"+i).checked) StrKurs = StrKurs+i+",";
}
document.all("ipKurs").value = StrKurs.substring(0,StrKurs.length-1);
return true;
}
</SCRIPT>

<INPUT TYPE=HIDDEN name=ipKurs VALUE="test">
<INPUT TYPE=HIDDEN name=scn VALUE=80528230380871155778935661528809778 2120>
<TABLE ALIGN="center" ID="tb_kurs_rep" style="{display: none; }" CELLPADDING="0" CELLSPACING="0" border="0" width="510">
<TR>
<TD height="40" width="150"><FONT size="2">Курс:</FONT></TD>
<TD><INPUT TYPE=CHECKBOX CHECKED ID=ipKurs1 VALUE=1> 1</TD>
<TD><INPUT TYPE=CHECKBOX ID=ipKurs2 VALUE=2> 2</TD>
<TD><INPUT TYPE=CHECKBOX ID=ipKurs3 VALUE=3> 3</TD>
<TD><INPUT TYPE=CHECKBOX ID=ipKurs4 VALUE=4> 4</TD>
<TD><INPUT TYPE=CHECKBOX ID=ipKurs5 VALUE=5> 5</TD>
<TD><INPUT TYPE=CHECKBOX ID=ipKurs6 VALUE=6> 6</TD>
</TR>
</TABLE>
<TABLE ALIGN="center" ID="tb_spec_rep" style="{display: none; }" CELLPADDING="0" CELLSPACING="0" border="0" width="510">
<TR>
<TD width="150"><FONT size="2">Спеціалність/напрямок:</FONT></TD>
<TD align="left" height="40">
<SELECT NAME="ipSpecialnost">
<OPTION value="22">ІНФ
<OPTION value="38">ЕК
<OPTION value="49">КС
<OPTION value="23">ПМ
<OPTION value="39">САУ
<OPTION value="-10">ЕП /напр/
<OPTION value="-4">ПМ /напр/
<OPTION value="-17">СК /напр/
</SELECT>
</TD>
</TR>
</TABLE>
<TABLE ALIGN="center" ID="tb_group_rep" style="{display: none; }" CELLPADDING="0" CELLSPACING="0" border="0" width="510">
<TR>
<TD height="40"><FONT size="2">Курс:&nbsp</FONT></TD>
<TD><FONT size="2"><INPUT TYPE=RADIO NAME=ipKursG VALUE=1 CHECKED=true onClick="ClickKursorGroup(1)">&nbsp1</FONT></TD>
<TD><FONT size="2"><INPUT TYPE=RADIO NAME=ipKursG VALUE=2 onClick="ClickKursorGroup(2)">&nbsp2</FONT></TD>
<TD><FONT size="2"><INPUT TYPE=RADIO NAME=ipKursG VALUE=3 onClick="ClickKursorGroup(3)">&nbsp3</FONT></TD>
<TD><FONT size="2"><INPUT TYPE=RADIO NAME=ipKursG VALUE=4 onClick="ClickKursorGroup(4)">&nbsp4</FONT></TD>
<TD><FONT size="2"><INPUT TYPE=RADIO NAME=ipKursG VALUE=5 onClick="ClickKursorGroup(5)">&nbsp5</FONT></TD>
<TD><FONT size="2"><INPUT TYPE=RADIO NAME=ipKursG VALUE=6 onClick="ClickKursorGroup(6)">&nbsp6</FONT></TD>
<TD><FONT size="2"><INPUT TYPE=RADIO NAME=ipKursG VALUE=7 onClick="ClickKursorGroup(7)">&nbsp7</FONT></TD>
<TD><FONT size="2"><INPUT TYPE=RADIO NAME=ipKursG VALUE=8 onClick="ClickKursorGroup(8)">&nbsp8</FONT></TD>
<TD><FONT size="2">&nbsp</FONT></TD>
</TR>
<TR>
<TD width="150"><FONT size="2">Група:</FONT></TD>
<TD align="left" colspan=6 height="40">
<SELECT NAME="ipNameGroup">
</SELECT>
</TD>
</TR>
</TABLE>
<TABLE ALIGN="center" CELLPADDING="0" CELLSPACING="0" border="0" width="510">
<TR>
<TD width="150"><FONT ID="test" size="2">Семестр:</FONT></TD>
<TD align="left" height="40">
<SELECT NAME="ipASN">
<OPTION value="26">весна 2007
<OPTION SELECTED value="25">осінь 2006
<OPTION value="24">весна 2006
<OPTION value="23">осінь 2005
<OPTION value="22">весна 2005
<OPTION value="21">осінь 2004
<OPTION value="20">весна 2004
<OPTION value="19">осінь 2003
<OPTION value="18">весна 2003
<OPTION value="17">осінь 2002
<OPTION value="16">весна 2002
</SELECT>
</TD>
</TR>
</TABLE>
<BR>
<HR>
<DIV ALIGN="center">
<P>
<INPUT TYPE="submit" VALUE="Виконати" align="center">
<P>
</FORM>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>

сохрани отдельно в html и посомтри, как работает здесь...

   
 
 автор: Sl   (26.02.2007 в 13:52)   письмо автору
 
   для: Lacky   (26.02.2007 в 13:42)
 

Этот пример можно полностью осуществить с помощью javascript
menuCombo.html

<script language="javascript" src="menuCombo.js"></script>

<form>
    <select name="selectMenu1" size="1" style="width:200px;"
                onchange="return selectMenu1Item(this);">
        <script language="javascript">
            loadMenu1("selectMenu1");
        </script>
    </select>
    <select name="selectMenu2" size="1" style="width:200px;"
                onchange="return selectMenu2Item(this);">
        <script language="javascript">
            loadMenu2("selectMenu2");
        </script>
    </select>
    <input type="button" value="Перейти" onclick="return changeURL(this);">
</form>


menuCombo.js


// наличие кнопки для перехода на другую страницу
//   поставьте true - если переход осуществляется по кнопке (или картинке)
//   поставьте false - если переход происходит сразу после выбора элемента из выпадающего списка
var bExistButton = true;

// двумерный массив с названиями (нечетные элементы) и URL (четные элементы) ссылок
//   если хотите, чтобы пункт в первом выпадающем списке ссылался на URL,
//     то в следующем элементе массива укажите адрес этой ссылки,
//   если же этот пункт является названием для группы ссылок для второго выпадающего списка,
//     то следующий элемент массива sMenuItems должен является двумерным массивом, где аналогично
//     sMenuItems нечетные элементы являются названиями пунктов для второго выпадающего списка,
//     а четные - ссылками.
var sMenuItems = new Array(
    "Полезные программы",
        new Array(
            "Htmlpad Fisherman",    "http://kimsite.wallst.ru/htmlpad/",
            "Microsoft Windows",    "http://www.microsoft.ru/"
            )
    ,
    "Яndex",    "http://www.yandex.ru"
    ,
    "Архив новостей",
        new Array(
            "За 2002 год",    "archives.php?year=2002",
            "За 2003 год",    "archives.php?year=2003",
            "За 2004 год",    "archives.php?year=2004"
            )
    );

var sNameMenu1, sNameMenu2;

function loadMenu1(name)
{
    var iI;
    sNameMenu1 = name;
    for (iI = 0; iI < sMenuItems.length / 2; iI++)
    {
        if (iI == 0)
            document.write("<option selected>" + sMenuItems[2*iI] + "</option>");
        else
            document.write("<option>" + sMenuItems[2*iI] + "</option>");
    }
}

function loadMenu2(name)
{
    var iI, iJ;
    sNameMenu2 = name;
    iJ = 0;
    if (sMenuItems[2*iJ+1][0] != null)
    {
        for (iI = 0; iI < sMenuItems[2*iJ+1].length / 2; iI++)
        {
            if (iI == 0)
                document.write("<option selected>" + sMenuItems[2*iJ+1][2*iI] + "</option>");
            else
                document.write("<option>" + sMenuItems[2*iJ+1][2*iI] + "</option>");
        }
    }
}

function getObject(name, obj)
{
    var formNeed = obj.form;
    var iI;
    for (iI = 0; iI < formNeed.elements.length; iI++)
    {
        if (formNeed.elements[iI].name == name)
            return formNeed.elements[iI];
    }
}

function clearOptions(obj)
{
    var iI;
    var iC = obj.options.length - 1;
    for (iI = iC; iI >= 0; iI--)
        obj.remove(iI); 
}

function selectMenu1Item(obj)
{
    var iI;
    var iJ = obj.selectedIndex;
    var objSelect2 = getObject(sNameMenu2, obj);
    clearOptions(objSelect2);
    if (sMenuItems[2*iJ+1][0] == null)
    {
        if (bExistButton == false)
            return changeURL(obj);
        objSelect2.options[0] = new Option("");
        objSelect2.disabled = true;
    }
    else
    {
        objSelect2.disabled = false;
        for (iI = 0; iI < sMenuItems[2*iJ+1].length / 2; iI++)
            objSelect2.options[iI] = new Option(sMenuItems[2*iJ+1][2*iI]);
    }
    return true;
}

function selectMenu2Item(obj)
{
    if (bExistButton == false)
        return changeURL(obj);
    return true;
}

function changeURL(obj)
{
    var objSelect1 = getObject(sNameMenu1, obj);
    var objSelect2 = getObject(sNameMenu2, obj);
    var iI = objSelect1.selectedIndex;
    var iJ = objSelect2.selectedIndex;
    if (sMenuItems[2*iI+1][0] == null)
        top.location.href = sMenuItems[2*iI+1];
    else
        top.location.href = sMenuItems[2*iI+1][2*iJ+1];
    return true;
}

   
 
 автор: Ralph   (26.02.2007 в 15:06)   письмо автору
 
   для: Sl   (26.02.2007 в 13:52)
 

По моему,это конкретный гемор...Сколько будет весить страница со списком марок телефонов и списком моделей КАЖДОЙ МАРКИ !!! Может,туда сразу добавить и характеристики каждой модели,чтобы лишний раз страницу не загружать ?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования