С нами с 28.07.07
Сообщения: 425
Рейтинг: 375
|
Добавлено: 10/08/11 в 12:23 |
помогите написать функцию которая по клику на список добавляла свойство Selected
есть список
Код: |
<select name="countries[]" size="4" multiple="multiple" >
<option selected>Select A City</option>
<option value="usa">USA</option>
<option value="canada">Canada</option>
<option value="uk">United Kingdom</option>
</select> |
нужно чтоб если один раз клацнуть мышкой по пункту он становился Selected а если еще раз, снимался. при этом чтоб можно было выделить один, два или все пункты
ява скрипт не очень знаю...
вот пробывал
Код: |
<select name="countries[]" size="4" multiple="multiple" id="myselect">
<option id="o1" onclick="selectli('o1');" selected>Select A City</option>
<option id="o2" onclick="selectli('o2');" value="usa">USA</option>
<option id="o3" onclick="selectli('o3');" value="canada">Canada</option>
<option id="o4" onclick="selectli('o4');" value="uk">United Kingdom</option>
</select> |
Код: |
function selectli (id)
{
// document.getElementById(id).focus();
// document.getElementById(id).select();
var objSel = document.getElementById("myselect");
var opt = document.getElementById("o8");
objSel.opt.selected = true;
//alert ( objSel.opt.selected = true; );
} |
|
|
|
|
С нами с 31.05.10
Сообщения: 1991
Рейтинг: 487
|
Добавлено: 10/08/11 в 23:54 |
|
|
|
|
С нами с 05.05.05
Сообщения: 1913
Рейтинг: 1134
|
Добавлено: 11/08/11 в 16:53 |
Наверное выглядит это немного убого, некогда было расписываться, опять же нету под рукой ie, как там работает не понятно, в общем чем богаты
сам смысл такой, когда мы кликаем по селектбоксам, у самого бокса на котором прошел клик меняем статус на противоположный, а так как выделение уходит с других боксов и они становятся false, мы восстанавливаем их прежний статус используя триггер
Код: |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=us-ascii" />
<title>Test JS</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js">
</script>
<script type="text/javascript">
//<![CDATA[
(function () {
try {
//jQuery DOM Ready
$(function () {
//=============================================jQuery
$("#myform").change(function (e) {
$(this).children("option[value]:not(:selected)").each(function () {
$(this).trigger("saveState");
});
}).children("option[value]").each(function () {
(function (elem) {
var state = elem.prop("selected");
var __onCnange = function (e) {
elem.prop("selected", !state);
state = elem.prop("selected");
}
var __saveState = function (e) {
elem.prop("selected", state);
}
elem.click(__onCnange);
elem.bind("saveState", __saveState);
})($(this))
});
//=============================================
});
} catch (e) {
alert(e.message);
}
})();
//]]>
</script>
</head>
<body>
<form method="get">
<select name="countries[]" size="4" multiple="multiple" id="myform">
<option>
Select A City
</option>
<option value="usa">
USA
</option>
<option value="canada">
Canada
</option>
<option value="uk">
United Kingdom
</option>
</select> <input type="reset" value="reset" /> <input type="submit" value="submit" />
</form>
</body>
</html>
|
Последний раз редактировалось: freeek (11/08/11 в 19:44), всего редактировалось 2 раз(а)
|
|
|
|
С нами с 05.05.05
Сообщения: 1913
Рейтинг: 1134
|
Добавлено: 11/08/11 в 16:55 |
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |