0

这里的想法是,用户只能对 id 为 itemURL 的输入文本框进行选择,或者对 contentPageID 进行选择。如果用户开始在 itemURL 中输入响应,它会使 contentPageID 下拉列表返回 0 以获取 - 选择 - 文本选项的值。如果用户随后改变主意并开始使用下拉菜单进行选择,则它会清除 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

我正在使用 niceforms,它必须进行更多操作,但不知道如何操作。

我之前的代码:

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 回答