0

ここでの考え方は、ユーザーは、itemURL の ID を持つ入力テキスト ボックスに対して 1 つの選択しかできないか、contentPageID に対して選択を行うことができるということです。ユーザーが itemURL に応答を入力し始めると、contentPageID ドロップダウンの値が 0 に戻ります。この値は、テキスト オプションの - Select - です。その後、ユーザーが気が変わってドロップダウンで選択を開始すると、itemURL テキスト フィールドの値が消去されます。次のコードを使用しましたが、niceforms を使用しているため、もう少し操作する必要があり、方法がわかりません。

$('contentPageID, itemURL').change ( function () { 
if ( $(this).is ('select') ) {
    $('itemURL').val ("");
}
else {
    $('contentPageID').val (0);
}
} );

これを使用してドロップダウンをクリアするリセット機能がありますが、やりたいことにそれを組み込む方法がわかりません。

$('select').each(function(){
                        var option = $('option:selected', this).html();
                        var niceselect = $(this).parents('dd').find('.NFSelectRight');
                        niceselect.html(option);
                        $(this).parents('dd')
                        .find('.NFSelectTarget a')
                        .removeClass('NFOptionActive')
                        .filter(':first').addClass('NFOptionActive');
                    }); 
4

1 に答える 1

1

私はナイスフォームを使用していますが、もう少し操作する必要があり、方法がわかりません。

私の以前のコード:

function updateNiceformSelect() {

    $('select.NFhidden').each(function(){
        var option = $('option:selected', this).html();
        var niceselect = $(this).parents('dd').find('.NFSelectRight');
        niceselect.html(option);

        $(this).parents('dd')
            .find('.NFSelectTarget a')
            .removeClass('NFOptionActive')
            .each(function(){
                if($(this).html() == option)
                    $(this).addClass('NFOptionActive');
            });
    });
};

これは、niceforms select を基礎となる html select の値に更新します。

http://jsfiddle.net/Jacek_FH/EwpXp/14/

Niceform はネイティブ入力を使用するため、個別に処理する必要はありません

/編集

作業コード全体: http://jsfiddle.net/Jacek_FH/YvGDH/5/

思ったより大変だった

于 2011-08-06T22:23:19.783 に答える