Реклама на сайте Advertise with us

Js selected

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 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; );
}

VPS от 10$.USA/Germany

0
 



С нами с 31.05.10
Сообщения: 1991
Рейтинг: 487

Ссылка на сообщениеДобавлено: 10/08/11 в 23:54       Ответить с цитатойцитата 

п 1. забыть о pure яваскрипте. напрочь.
п 2. взять jquery или любой другой js фреймворк (я использую периодически dojo если графика нужна в админках)
п 3. нагуглить плагин или встроенный функционал
на тему select-а навскидку могу предложить jq UI http://wiki.jqueryui.com/w/page/12138056/Selectmenu
на dojo тоже неплохо выглядит: http://dojotoolkit.org/reference-guide/dijit/form/Select.html (правда там фреймворк около 11 метров весит)
вот еще тема: яхушный js фреймворк: http://developer.yahoo.com/yui/examples/

0
 



С нами с 05.05.05
Сообщения: 1913
Рейтинг: 1134

Ссылка на сообщениеДобавлено: 11/08/11 в 16:53       Ответить с цитатойцитата 

Наверное выглядит это немного убого, некогда было расписываться, опять же нету под рукой ie, как там работает не понятно, в общем чем богаты icon_smile.gif

сам смысл такой, когда мы кликаем по селектбоксам, у самого бокса на котором прошел клик меняем статус на противоположный, а так как выделение уходит с других боксов и они становятся 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 раз(а)

0
 



С нами с 05.05.05
Сообщения: 1913
Рейтинг: 1134

Ссылка на сообщениеДобавлено: 11/08/11 в 16:55       Ответить с цитатойцитата 

http://jqapi.com/ если надо

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »