Эта статья в основном посвящена самым основным методам, связанным с javascript, и выбрана для справки людьми, не знакомыми с javascript. Распространенной ситуацией является то, что человеку, предлагающем структуру формы, необходимо не только спроектировать логику программы и создать структуры данных, но также разработать стиль формы и знать JavaScript. Некоторые компании могут потребовать от вас владения языком; в фотошопе: вначале мы все должны быть универсалами.
Нижеследующее является основой нашего примера; это не стандартная форма.
<форма id="f">
<select size="1" name="s">
<option value="VeVB.COm">Wulin.com</option>
<option value="baidu.com">Baidu</option>
</выбрать>
</форма>
-------------------------------------------------- --------------------------
Скопируйте код кода следующим образом:
<тип сценария="текст/javascript">
<!--
вар f = document.getElementById("f");
//Получаем количество выбранных элементов списка
document.write(fsoptions.length);
document.write(fslength);
//Индекс текущего выбранного элемента (начиная с 0) (есть два метода)
//Если выбрано несколько элементов, возвращаем индекс первого выбранного элемента
document.write(fsoptions.selectedIndex);
document.write(fsselectedIndex);
//Проверяем, выбран ли элемент
document.write(fsoptions[0].selected);
//Получаем значение и текст определенного элемента
document.write(fsoptions[0].value);
document.write(fsoptions[1].text);
//Удалить элемент
fsoptions[1] = ноль;
//Добавляем элемент
fsoptions[fsoptions.length] = new Option("Дополнительный текст", "Дополнительное значение");
//Изменяем элемент
fsoptions[1] = new Option("измененный текст", "измененное значение");
//Вы также можете напрямую установить текст и значение элемента
//-->
</скрипт>
//Выбираем все элементы в списке
функция SelectAllOption(список)
{
for (var i=0; i<list.options.length; i++)
{
list.options[i].selected = true;
}
}
//Обратный выбор элементов в списке с помощью обучающей сети VeVB.COM asp
функцияDeSelectOptions (список)
{
for (var i=0; i<list.options.length; i++)
{
list.options[i].selected = !list.options[i].selected;
}
}
//Вернем количество выбранных элементов в списке
функция GetSelectedOptionsCnt (список)
{
вар cnt = 0;
вар я = 0;
for (i=0; i<list.options.length; i++)
{
если (list.options[i].selected)
{
cnt++;
}
}
вернуть ЦНТ;
}
//Очистить список
функция ClearList(список)
{
пока (list.options.length > 0)
{
список.опции[0] = ноль;
}
}
//Удалить выбранный элемент из списка
//Вернем количество удаленных элементов
функция DelSelectedOptions(список)
{
вар я = 0;
вар удаленCnt = 0;
в то время как (я < list.options.length)
{
если (list.options[i].selected)
{
list.options[i] = ноль;
удаленCnt++;
}
еще
{
я++;
}
}
вернуть удаленныйCnt;
}
//Эта функция определяет, существует ли соответствующий элемент
//repeatCheck, выполнять ли проверку повторяемости
//Если это "v", выполняем проверку дубликатов значений по значению
//Если это «t», выполнить проверку повторяющихся значений на основе текста
//Если это "vt", выполняем проверку дубликатов значений по значению и тексту
//Другие значения, без проверки повторяемости, возвращает false
функция OptionExists (список, optText, optValue, restartCheck)
{
вар я = 0;
вар найти = ложь;
если (repeatCheck == "v")
{
//Проверка дублирования значения по значению
for (i=0; i<list.options.length; i++)
{
если (list.options[i].value == optValue)
{
найти = правда;
перерыв;
}
}
}
иначе, если (repeatCheck == "t")
{
// Повторяем проверку по тексту
for (i=0; i<list.options.length; i++)
{
если (list.options[i].text == optText)
{
найти = правда;
перерыв;
}
}
}
иначе, если (repeatCheck == "vt")
{
//Дубликат проверки по значению и тексту
for (i=0; i<list.options.length; i++)
{
if ((list.options[i].value == optValue) && (list.options[i].text == optText))
{
найти = правда;
перерыв;
}
}
}
вернуть находку;
}
//Добавляем элемент в список
//list — список, который нужно добавить
//optText и optValue представляют текст и значение элемента соответственно
//repeatCheck, выполнять ли проверку повторяемости, см. OptionExists
//Возвращает true, если добавлено успешно, и false, если не удалось
функция AppendOption (список, optText, optValue, повторечек)
{
if (!OptionExists(список, optText, optValue, повторение))
{
list.options[list.options.length] = новый вариант (optText, optValue);
вернуть истину;
}
еще
{
вернуть ложь;
}
}
//вставляем элемент
//индекс позиции вставки, когда позиция вставки >= количества существующих элементов в списке, ее функция эквивалентна добавлению элементов без повторной проверки
//optText и optValue представляют текст и значение элемента соответственно
функция InsertOption(список, индекс, optText, optValue)
{
вар я = 0;
for (i=list.options.length; i>index; i--)
{
list.options[i] = новый вариант(list.options[i-1].text, list.options[i-1].value);
}
list.options[index] = новый вариант(optText, optValue);
}
//Экспортируем элементы из одного списка в другой список
//repeatCheck, выполнять ли проверку повторяемости, см. OptionExists
//После того, как элементы deleteSource импортированы в цель, следует ли удалять элементы в исходном списке
//Вернем количество затронутых элементов
функция ListToList(sList, dList,repeateCheck, deleteSource)
{
//Количество затронутых строк
вар линии = 0;
вар я = 0;
в то время как (i<sList.options.length)
{
if (sList.options[i].selected && AppendOption(dList, sList.options[i].text, sList.options[i].value, restartCheck))
{
//Добавлено успешно
линии++;
если (удалить источник)
{
//Удалить элементы из списка источников
sList.options[i] = ноль;
}
еще
{
я++;
}
}
еще
{
я++;
}
}
обратные линии;
}
//Перемещаем выбранный элемент вверх в списке
функция MoveSelectedOptionsUp(список)
{
вар я = 0;
значение вар = "";
вар текст = "";
for (i=0; i<(list.options.length-1); i++)
{
if (!list.options[i].selected && list.options[i+1].selected)
{
значение = список.опции[i].value;
текст = список.опции[i].текст;
list.options[i] = новый вариант(list.options[i+1].text, list.options[i+1].value);
list.options[i].selected = true;
list.options[i+1] = новый вариант (текст, значение);
}
}
}
//Перемещаем выбранный элемент вниз по списку
функция MoveSelectedOptionsDown(список)
{
вар я = 0;
значение вар = "";
вар текст = "";
for (i=list.options.length-1; i>0; i--)
{
//www.VeVB.COM
if (!list.options[i].selected && list.options[i-1].selected)
{
значение = список.опции[i].value;
текст = список.опции[i].текст;
list.options[i] = новый вариант(list.options[i-1].text, list.options[i-1].value);
list.options[i].selected = true;
list.options[i-1] = новый вариант (текст, значение);
}
}
}