2011-08-18 3 views
4

SimpleModal을 사용하여 모달 대화 상자를 만드는 div 안에 자동 완성 JQuery가있는 간단한 텍스트 상자가 있습니다. 처음으로 모달 대화 상자가 호출되면 자동 완성 기능이 제대로 작동합니다. 대화 상자가 닫히면 완전히 작동하지 않습니다. 아무도 이것이 어떤 결과 일 수있는 아이디어가 있습니까?SimpleModal 내 JQuery 자동 완성

코드는 다음과 같습니다 :

대화 HTML :

<div id="simplemodal"> 
<div class="content"> 
    <span class="label">国名</span> 
    @Html.TextBox("NewRegion", "") 
</div> 
<div class="commands"> 
    <a>追加する</a> 
    <a class="simplemodal-close">キャンセル</a> 
</div> 

하고 대화

/*Show add region dialogue*/ 
function AddNewRegion(ProjectID) { 
    $('#simplemodal').modal({ 
     closeHTML: 'simplemodal-close', 
     closeClass: 'simplemodal-close' 
    }); 
} 

자동 완성 스크립트의 스크립트

$(function() { 
$('#NewRegion').autocomplete({ source: '/Regions/FindRegions' }); 
}); 

나는 이전에이 질문에 답을 얻었지만 답변을 얻지 못했던 것처럼 보입니다. 그래도 문제가 해결되지 않으면 알려주세요

/*Show add region dialogue*/ 
function AddNewRegion(ProjectID) { 
    $('#simplemodal').modal({ 
     closeHTML: 'simplemodal-close', 
     closeClass: 'simplemodal-close', 
     onShow: function (dialog) { 
      $('#NewRegion', dialog.data[0]).autocomplete({ source: '/Regions/FindRegions' }); 
     } 
    }); 
} 

:

+0

모달 대화 상자를 표시하기 전에 자동 완성을 다시 만들어보십시오. – TheVillageIdiot

+0

CreateAutoComplete() {$ ('# NewRegion'). autocomplete ({source etc ...}); 함수를 만들 때와 같은 의미입니다. } 그리고 모달을 부를 때 그것을 실행합니까? 아니면 뭔가 다른 것을 의미합니까? –

+0

대화 상자를 닫을 때 자동 완성이 손상 될 수 있습니다. 따라서 대화를 표시하거나 직전에 코드를 호출하여 자동 완성을 다시 만들 수 있습니다. – TheVillageIdiot

답변

0

는로 두 JS 코드 샘플을 통합 할 수 있습니다.

+0

안녕하세요, 에릭, 답장을 보내 주셔서 감사 드리며 오랫동안 복용 해 주셔서 진심으로 감사드립니다. 마침내이 문제를 해결해야하지만 JQuery UI 자동 완성 목록은 대화가 처음 열릴 때만 표시됩니다. 제가이 일을 할 수 있다고 생각할 수있는 다른 것이 있습니까? –

0

아래의 코드는

$(document).ready(function() { 
    $("#NewRegion").autocomplete({ 
     source: function(request,response) { 
      $.ajax({ 
       url: "/Regions/FindRegions", 
       type: "POST", 
       dataType: "json", 
       data: { term: request.term }, 
       success: function (data) { 
        response($.map(data, function (item) { 
         return { value: item.Country }; 
        })) 

       } 
      }) 
     }, 
     messages: { 
      noResults: "", results: "" 
     } 
    }); 
}) 
0

나뿐만 아니라이 문제로 실행했습니다 도움이 될 수 있습니다. 모달 대화 상자를 열 때 persist 옵션을 true으로 설정하면 해결할 수 있습니다.

모달 대화 상자를 열 때마다 자동 완성 핸들러를 다시 설치할 필요가 없습니다.