تسجيل التحكم الديناميكي باستخدام مسج لالإكمال التلقائي

StackOverflow https://stackoverflow.com/questions/1812207

سؤال

وأنا خلق مربعات النص حيوي باستخدام مسج على زر نقرة.

<table width="100%" border="0" cellpadding="0" cellspacing="0">
        <tr>
            <td>
                <div id="lblCustName">
                </div>
            </td>
            <td>
                <div id="lblRemove">
                </div>
            </td>
        </tr>
        <tr>
            <td colspan="2">
                <input type="button" value="Add" id="AddRow" />
            </td>
        </tr>
        <tr>
            <td colspan="2">
                <input type="submit" value="Submit" id="SaveCustomers" />
            </td>
        </tr>
        </table>

     <script type="text/javascript" language="javascript">
        $(document).ready(function() {
           //validate post form
            $("#CustomersForm").validate({ ignore: ":not(:visible)" });
           //Initialize the dynamic id
           _DynId = 1;
           //Click Event for Customers
            $('#AddRow').click(function(e) {
                $('#lblCustName').append('<div id="lblCustName' + _DynId + '" style="height:20px;padding-left:10px;">' + '<input type="text" name="CustName" id="CustName' + _DynId + '" class="required" value="" title="*" />');
                $('#lblRemove').append('<div id="lblRemove' + _DynId + '" style="height:20px;padding-left:10px;">' + '<img src="../../Content/Images/delete_icon.gif" onclick=Remove("' + _DynId + '"); title="Remove" id="iRemove' + _DynId + '"></img>');
                _DynId += 1;
            });
 </script>

واني اسعى لإضافة نص للعملاء بشكل حيوي. هذا هو أتش تي أم أل عينة من أجل وظيفة إضافة عملاء لمعالجة التقرير، ... ولست بحاجة لإعطاء الخيار الإكمال التلقائي لمربعات النص.

ولقد استخدمت النصي أدناه للحصول على ما يلي:

$.getJSON("/User/GetAllCustomers/?t=" + new Date(), {},
         function(data) {
             if (data != null) {
                 $("input:text[name=CustName]").autocomplete(data, { mustMatch: false, matchContains: 4, max: 50,
                     formatItem: function(row) {
                         if (row.CustomerName!= "") {
                             return row.CustomerName;
                         }
                     },
                     formatResult: function(row) {
                         return row.CustomerName;
                     }
                 }).result(function(e, row) {
                    //do something
                 });
             }
         });

ووالإكمال التلقائي لا يعمل لعناصر إضافتها بشكل حيوي.

واني اسعى لأي إمكانية لتسجيل عناصر التحكم المضافة حيوي إلى النموذج، بحيث الإكمال التلقائي ستعمل لعناصر إضافتها بشكل حيوي

هل كانت مفيدة؟

المحلول

والمشكلة هي أنه عند ربط هذا الإكمال التلقائي لانها ملزمة لالحقول التي تتطابق مع محدد عندما ركض وظيفة. إذا قمت بإضافة شيء في وقت لاحق يطابق أيضا أنها لن تربط تلقائيا.

لأحداث مسج الأساسية هناك rel="nofollow لايف ملزم يتيح لك القيام بذلك تلقائيا، ولكن الإكمال التلقائي لن تعمل من خلال هذا - في الأساس خيارك الوحيد هو ربط الإكمال التلقائي جديد في كل مرة قمت بإضافة حقل النص الجديد

وEG: اضافة الى وظيفة AddRow:

$("#lblCustName" + _DynId + " input[name=CustName]").autocomplete(...);

و(استبدال الواضح ... مع المعلمات تريد)

وأنت على الأرجح تريد وضع الكائن البيانات الخاصة بك أنك انسحبت من خدمة ويب في متغير عالمي لدعم هذا، وربما الشيء نفسه مع خيارات الإكمال التلقائي (فقط لتجنب الازدواجية كود).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top