Элементы jQuery selectable () обновляют значения - PullRequest
3 голосов
/ 30 апреля 2010

По сути, я пытаюсь обновить атрибут value скрытого поля ввода, содержащегося в выбранном элементе, когда пользовательский интерфейс selectable () перестает работать.

Если элемент выбран, тогда значением входного значения должно быть имя атрибута этого конкретного LI, тогда как если элемент не выбран, значение должно быть обновлено как пустое.

Образец HTML:

<ul id="selector">
    <li class="networkicon shr-digg" name="shr-digg">
        <div></div>
        <label>Digg</label>
        <input type="hidden" value="" name="bookmark[]" />
    </li>
    <li class="networkicon shr-reddit" name="shr-reddit">
        <div></div>
        <label>Reddit</label>
        <input type="hidden" value="" name="bookmark[]" />
    </li>
    <li class="networkicon shr-newsvine" name="shr-newsvine">
        <div></div>
        <label>Newsvine</label>
        <input type="hidden" value="" name="bookmark[]" />
    </li>
</ul>

Пример сценария:

$(function() {
    $("#selector").selectable({ 
        filter: 'li',
        selected: function(event, ui) {
            $(".ui-selected").each(function() {
                $(this).children('input').val($(this).attr('name'));
            });
        },
        unselected: function(event, ui) {
            $(".ui-selected").each(function() {
                $(this).children('input').val('');
            });
        }
    });
});

Ответы [ 2 ]

1 голос
/ 30 апреля 2010

Ваш синтаксис .each неверен, вы, кажется, перепутали синтаксис с $.each. Должно быть:

$(".ui-selected").each(function() {
    $(this).children('input').val($(this).attr('name'));
});
1 голос
/ 30 апреля 2010
$(this).children('input').attr("value", $(this).attr('name'));
...
$(this).children('input').attr("value", '');

Это решает это?

http://api.jquery.com/val/:

Описание: Получить текущее значение первый элемент в наборе согласованные элементы.

...