2012-02-17 2 views
1

При использовании функции jQuery Autosuggest пользователи могут начать вводить номер детали, а автозагрузчик отображает список аналогичных частей. После выбора части я хочу, чтобы описание отображалось в текстовом поле рядом с номером детали. Номера деталей и описание возвращаются из CFC, но я не могу получить описание детали в текстовом поле описания детали. как я могу это сделать?Значение привязки к текстовому поле

Форма с JQuery:

<form action="index.cfm?action=reports:part.test" method="post"> 
<fieldset> 
    <legend>test</legend> 
    <p>Start typing a part number.</p> 
    <p> 
     <label for="partnum">Part Number: </label> 
      <input type="text" id="partnum" name="partnum" /> 
      <input readonly="readonly" type="text" id="partdescription" name="partdescription" /> 
    </p> 
    <p> 
      <input type="submit" name="submit" value="Submit" /> 
    </p> 
</fieldset> 
</form> 


<cfsavecontent variable="datatables_definitions"> 
<!-- added by user.list --> 
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript"> 
$(document).ready(function(){ 



     $('#partnum').autocomplete(
      {source: function(request, response) { 
       $.ajax({ 
        url: "/reports/services/remote/partSuggest.cfc?method=lookUpPart&returnformat=json", 
        dataType: "json", 
        data: { 
         search: request.term, 
         maxRows: 10 
        }, 
        success: function(data) { 
         response(data); 
         $('#partdescription').val(partdescription); 
        }, 

      }) 
      }, 
      parse: function(data){ 
       return $.map(data, function(item) { 
        return { data: item, value: item, result: item }; 
       }); 
      } 

     }); 
    }); 
</SCRIPT> 
</cfsavecontent> 

<cfhtmlhead text="#datatables_definitions#" /> 

ФКК делает запрос:

<cfcomponent output="false"> 
    <cffunction name="lookUpPart" access="remote" returntype="any" > 
     <cfargument name="search" type="any" required="false" default=""> 
     <cfargument name="datasource" type="string" required="no" default="myDSN"> 

     <!--- Define variables ---> 
     <cfset var data=""> 
     <cfset var result=ArrayNew(1)> 

     <!--- Do search ---> 
     <cfquery name="getPart" datasource="#arguments.datasource#"> 
      SELECT top 20 partnum, partdescription 
      FROM part 
      WHERE partnum LIKE '%#trim(arguments.search)#%' 
      ORDER BY partnum 
     </cfquery> 

     <!--- Build result array ---> 
     <cfloop query="getPart"> 
      <cfset returnStruct = StructNew() /> 
      <cfset returnStruct["partnum"] = partnum /> 
      <cfset returnStruct["partdescription"] = partdescription /> 
      <cfset ArrayAppend(result,returnStruct) /> 
     </cfloop> 

     <!--- And return it ---> 
     <cfreturn serializeJSON(result) /> 
    </cffunction> 
</cfcomponent> 

Опять же, как только пользователь успешно выбирает номер детали из списка, я хочу, соответствующее описание детали к появятся в поле описания частей рядом с номером детали.

Спасибо.

ответ

1

Это в конечном итоге работает:

$('#partdescription').val(ui.item.partdescription); 
1

Попробуйте

$('#partdescription').val(data['partdescription']); 
+0

Спасибо за предложение, но это не выполнило получение описательной части появляться в partdescription текстового поля после выбора номера детали , – aparker81

Смежные вопросы