我想在用户在选择框中选择一个值时启用自动完成功能,在用户取消选择时禁用

时间:2015-05-05 11:27:54

标签: php jquery autocomplete

1.我想在用户在选择框中选择一个值时启用自动完成,在用户取消选择时禁用

$("#selectorText").autocomplete({
   source: function (request, response) {
      $.getJSON("URL", {
         term: $('#selectorText').val();/this the select box value
      }, response);
   },
   minLength: 1,
   select: function (event, ui) {
       $(this).val(ui.item.value);
   }
});

2.这是默认情况下在页面加载时禁用自动完成

$( "#selectorText" ).autocomplete({
   disabled: true; //here is the code default disable
});
  1. 现在主逻辑从这里开始,我想在特殊情况下启用自动完成,假设我在选择框{1,2,3,4,5}中有这些值。并且我想在用户选择3和4时启用自动完成,否则它将保持禁用状态。
  2. $('#selctBox').change(function () {
        if(this.val()>0){
             $( "#selectorText" ).autocomplete({
             disabled: true
             });
        }
    });
    

2 个答案:

答案 0 :(得分:1)

你有解决方案。你的代码很好,只是稍微改变你的状态。

$(document).ready(function(){

    //on page load

       $( "#selectorText" ).autocomplete( "disable" );

    // on selectbox change

    $('#selctBox').change(function () {
        if($(this).val() == 3 || $(this).val() == 4){
           $( "#selectorText" ).autocomplete( "enable" );
        } else {
           $( "#selectorText" ).autocomplete( "disable" );
        }

    });
}); 

答案 1 :(得分:0)

$('#selctBox').change(function() {
    var this_val = $(this).val();
    if (3 <= this_val && this_val <= 4 ) {
        $("#selectorText").autocomplete("option", "disabled", false);
    }
    else { // 1,2,5
        $("#selectorText").autocomplete("option", "disabled", true);
    }
});