0

ビューコードは以下のとおりです

<select name ="dept" id="dept">
   <option value="1">Software</option>
   <option value="2">Marketing</option>
</select>

<input name="section_name" id="section_name" type="text">
<input name="emp_id" id="emp_id" type="text">

Jqueryコードは以下です

$(document).ready(function() {
$('#section_name').keydown(function(){
    $(this).autocomplete({
        source: "<?php echo base_url(); ?>index.php/search_con/section_name",
        minLength: 0,
        autoFocus: true,
        select: function(event, ui)
        {
        }
    });
  });   
$('#emp_id').keydown(function(){
    $(this).autocomplete({
        source: "<?php echo base_url(); ?>index.php/search_con/emp_id",
        minLength: 0,
        autoFocus: true,
        select: function(event, ui)
        {
        }
    });
  });

});

基本的には、Department ドロップダウンを選択すると、セクション名でオートコンプリートされ、オートコンプリート セクション名でセクション名が検索されて選択されると、ここで emp_id autocomplete が来て、Emp ID を検索します。

別の言い方をすれば、セクション名の下に部門があり、emp_idの下にセクション名があります。

どうすればうまく解決できますか、助けてください。

4

1 に答える 1

2

2 つの非表示フィールドまたは 2 つの変数を好きなように作成しますが、変数で行います

ユーザーが部門を選択したら、サーバーにその部門を検索するように指示する必要があるため、これを実現できるように BE コードを変更する必要があります。

var current_department = ""; 

var current_lang = ""; 

//this will be called when ever the select changed 

$('#dept').change(function(){
current_department =  $(this).find(":selected").text();
}); 

部門のオートコンプリートでは、ここに変数を送信する必要があります。それは、あなた次第ではval()なく、設定できる部門名を送信text()します

今、オートコンプリートはそれについて今すべきです

$('#section_name').keydown(function(){
    $(this).autocomplete({
        source: "<?php echo base_url(); ?>index.php/search_con/section_name/"+current_department,
        minLength: 0,
        autoFocus: true,
        select: function(event, ui)
        {
               //here you need to tell the next autocomplete what lang you selected e.g. PHP 
              current_lang = ui.item.value; //or .text it's up to you 
        }
    });
  });   

したがって、次のオートコンプリートは次のようになります

$('#emp_id').keydown(function(){
    $(this).autocomplete({
        source: "<?php echo base_url(); ?>index.php/search_con/emp_id/"+current_lang,
        minLength: 0,
        autoFocus: true,
        select: function(event, ui)
        {
        }
    });
  });

});

ServerSide コードを変更することを忘れないでください。これがお役に立てば幸いです :)

于 2013-02-01T20:48:42.630 に答える