如何使用jQuery Autocomplete组合框重置可见文本?

时间:2011-09-26 02:18:57

标签: jquery jquery-ui

使用类似于演示的jQuery Autocomplete组合框

http://jqueryui.com/demos/autocomplete/#combobox

如何使用jQuery重置可见的用户输入文本?

(在用户输入一些文字后,做出了自动完成选择并导致了一个不相关的更改)

注意:更改基础选择元素不会导致自动完成输入字段发生任何变化。

注意2:这是相关页面上许多自动完成组合框之一(与演示不同)

2 个答案:

答案 0 :(得分:6)

我可以使用以下代码重置演示。需要注意的一点是隐藏了选择框,但需要维护这些值。

//clear each option if its selected
$('#combobox option').each(function() { 
    $(this).removeAttr('selected')
});

//set the first option as selected
$('#combobox option:first').attr('selected', 'selected');

//set the text of the input field to the text of the first option
$('input.ui-autocomplete-input').val($('#combobox option:first').text());

答案 1 :(得分:0)

如果要清除依赖于另一个组合框的comboBox(comboChild)中的文本,请在“ select:”事件(更改父组合框时触发)中执行此操作:

//创建父组合:

$comboParent.combobox({
                      select: function( event, ui ) {

                             clearComboBoxText($("#combo2"));    
                      }
                  });


function clearComboBoxText(cmbBoxObj){
     var inputsDelBox = cmbBoxObj.next().children(); //ref to the combo editable 
     inputsDelBox.val(""); // this clears the text 
     //inputsDelBox.css( "background-color", "green" ); //if you want to change color

}