这里的想法是用户只能对idUR为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');
});
答案 0 :(得分: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/
我想的更难了