2016-04-12 12 views
-2

私はExtJSに初心者です。次のコード行はselectイベントで正常に動作していますが、現在はぼかしイベントを追加する予定です。ぼかしではなくselectで動作します - EXTJS

autoResolve.on("select" || "blur", function (component, record, index) { 
     var fieldSet = utils.getComponentFromMngr(component.id.split("~")[0]); 
      if(autoResolveData.CURRSEL){ //Set previous selection property 

       var xmlElem = fieldSet.DomainXML.documentElement.childNodes[1]; 
        xmlElem.setAttribute("PR_DOMAINTYPE",autoResolveData.FILL_SUBTYP); 
        xmlElem.setAttribute("PR_DOMAINID", record.get("ITEMID")); 
        xmlElem.setAttribute("PR_DOMAINVALUE", record.data.TITLE); 
        fieldSet.DomainObj.push({PRDomainType:autoResolveData.FILL_SUBTYP,PRDomainID:record.get("ITEMID"),PRDomainValue:record.data.TITLE}); 
      } 

は、それはまだあなたがブラウザのコンソールで次のように入力した場合、あなたが見つけることができるよう、

+0

はどこで「選択」 '手に入れた|| 'blur''から? –

答えて

0

"select" || "blur"selectを返します提案してください、私は間違っていますブラーイベントにselectイベントの罰金ではなく働いています。

console.log("select" || "blur"); 

また、"blur"イベントは、2番目のパラメータとしてrecordを有していません。 recordを取得し、有効なrecordパラメータで関数を呼び出す必要があります。あなたが達成したい何

はおおよそ以下の通りです:

var myFunction = function (component, record, index) { 
    var fieldSet = utils.getComponentFromMngr(component.id.split("~")[0]); 
    if(autoResolveData.CURRSEL){ //Set previous selection property 
     var xmlElem = fieldSet.DomainXML.documentElement.childNodes[1]; 
     xmlElem.setAttribute("PR_DOMAINTYPE",autoResolveData.FILL_SUBTYP); 
     xmlElem.setAttribute("PR_DOMAINID", record.get("ITEMID")); 
     xmlElem.setAttribute("PR_DOMAINVALUE", record.data.TITLE); 
     fieldSet.DomainObj.push({PRDomainType:autoResolveData.FILL_SUBTYP,PRDomainID:record.get("ITEMID"),PRDomainValue:record.data.TITLE}); 
    } 
}; 
autoResolve.on({ 
    select:myFunction, 
    blur:function(component) { 
     var record = ... // your special magic here 
     return myFunction(component,record); 
    } 
}); 
+0

お返事ありがとうございました。ぼかしイベントでselectイベントハンドラを起動できますか? –

+0

他のイベントハンドラには副作用が存在する可能性があるため、できません。私はあなたに多かれ少なかれクリーンなコードを提供しました。ぼかし処理中に「選択された」レコードを計算して提供する必要があります。その周りには方法はありません。 – Alexander

関連する問題