2016-05-16 9 views
1

オートコンプリートjqueryは、テキストボックスに少なくとも2文字を入力すると、データベース内のすべてのユーザのリストを表示します。オートコンプリートは通常の入力フィールドで動作していますが、innerHTMLによって生成されたときは機能しません。innerhtml生成テキストボックスにオートコンプリートjqueryを挿入する方法

オートコンプリートは、以下のフィールドに取り組んでいる: - :

<img src="images/add.png" width="12" height="12"> <a href="javascript: addjobdesc();">Add New Job Description</a><br /> 

機能: - -

addjobdesc関数を呼び出すボタンのクリックは、他のフィールドを追加します

<input type="text" id="j_d_permit_by[]" name="j_d_permit_by[]" > 

 function addjobdesc() { 
    var div = document.createElement('div'); 

     div.className = 'row'; 

     div.innerHTML = '<table id="tblObs" name="tblObs" width="70%" bgcolor="#CCCCCC"><tr bordercolor="#FFFFFF"> 
    <td colspan="5"><b>Job Description (Work Ppermit/ Activity)</b></td></tr> 

<tr bgcolor="#33CC00"> 

    <td ><center> <b>Exact Location</b> </center></td> <td><b><center>Permit Initiated By<br />/<br />Activity Supervised by</center></b></td> 

    <td><b><center>Permit Accepted By<br />/<br />aActivity Executor</center></b></td><td><b><center>For What Permit Issued</center></b></td> 

    <td><b><center>Observation</center></b></td></tr> 
    <tr><td><center><select name="s_area[]" id="s_area" onchange="addSubArea()"> 
    <option value="0">Chose Sub Area</option></select></center></td> 

    <td><input type="text" id="j_d_permit_by_add" name="j_d_permit_by[]"></td> 

    <td><center><select id="j_d_accept_by[]" name="j_d_accept_by[]" ><option value="0">Select User</option><?php $users = getUserS(); 
    while($usersss = mysql_fetch_array($users)){ ?> 
    <option value="<?php echo $usersss[0];?>"><?php echo $usersss[4]." ".$usersss[5]; ?></option> 
    <?php } ?> 
    </select></td> 

    <td><center><textarea name="permit_ref[]" cols="30"> </textarea></center></td> 

<td><center><textarea name="obs_permit[]" id="obs_permit" cols="30"></textarea></center></td></tr></table><input class="submit" type="button" value="Remove" onclick="removeR0ow__(this)">'; 

    <!--<input type="hidden" name="j_d_Location[]" id="j_d_Location" value="" /><input type="text" name="area_Location[]" id="area_Location" value="" readonly="readonly" />--> 

    document.getElementById('job_desc').appendChild(div); 

jQuery(document).ready(function(){ 
      $('#j_d_permit_by_add').autocomplete({ 
        source: 'suggest_name.php', 
        minLength:2 
        }); 
      }); 

    var Max_Length = parseInt(document.getElementsByName('s_area[]').length)-1; 
    document.getElementsByName('s_area[]').item(Max_Length).innerHTML = ''; 
    document.getElementsByName('s_area[]').item(Max_Length).innerHTML = document.getElementById('sarea_div').innerHTML; 
    } 

iの生成されたj_d_permit_by []フィールドでオートコンプリートを機能させたいnnerHTML。

本当にありがとうございます。

+0

コード全体を記述できますか?関数のaddjobdesc .. OK – Sachin

+0

id = j_d_permit_by_addの入力で –

+0

の入力がjQuery(document).readyで利用できないため、関数が入力にバインドされていません。 – Sachin

答えて

0

autocompletejQuery(document).readyにバインドしましたが、その時点では入力がありませんid =j_d_permit_by_addであり、その機能は入力にバインドされていません。あなたは次のようにautocomplete機能をバインドする必要があるので、あなたは

は、オートコンプリート機能バインドするために、これを試してみてください。..動的に入力を生成している:

jQuery(document).ready(function(){ 
    $(document).on('#j_d_permit_by_add', selector, function() { 
     $(this).autocomplete({ 
      source: 'suggest_name.php', 
      minLength:2 
     }); 
    }); 
}); 

あなたはhttps://stackoverflow.com/a/25114244/1659563

@Guruprasadを参照することができますすることも権利であります入力が動的に生成された後にautocomplete関数をバインドすることができますfunction addjobdesc()

+0

説明のために、私はなぜそれが機能していないのか理解しています。オートコンプリートはまだ働いていない –

+0

私も のdocument.getElementById(「JOB_DESC」)の後に、再びオートコンプリートfuncitonをバインドしようとしたのappendChild(DIV);。。 –

+0

感謝の男それは働いていたコードのビットを変更した後 –

関連する問題