3

基本的に私がやろうとしているのは、selectable() UI の実行が停止したときに、選択した要素に含まれる非表示の入力フィールドの値属性を更新することです。

要素が選択されている場合、入力の値はその特定の LI の name 属性である必要がありますが、要素が選択されていない場合、値は空として更新される必要があります。

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('');
            });
        }
    });
});
4

2 に答える 2

1
$(this).children('input').attr("value", $(this).attr('name'));
...
$(this).children('input').attr("value", '');

それはそれを解決しますか?

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

説明:一致した要素のセットの最初の要素の現在の値を取得します。

于 2010-04-30T16:50:42.560 に答える
1

構文が正しくありませ.eachん。構文を と混同しているようです$.each。そのはず:

$(".ui-selected").each(function() {
    $(this).children('input').val($(this).attr('name'));
});
于 2010-04-30T16:55:17.610 に答える