2017-02-28 14 views
2

idで要素を検索するオプションがあるのだろうかと思っていましたが、完全なIDは分からず、その一部だけを知りませんでした。だから私は完全なIDを知らずに要素を見つけることができたし、同じIDを持つ複数の要素を見つけることができた。IDで複数の検索。完全なIDを知らない検索Sapui5

"objectID1" "objectID2" と "objectID3":私は知っていた場合

は、例えば、私は以下のIDを持つ3つのオブジェクトを持っていました。

は、私のようなものでした:

getElementByID("objectID*")

私が使用してJavaScriptでそれを試してみました:input[id*='PART_OF_ID_I_KNOW']

をしかし、それはHTMLオブジェクトを返し、私はSAPUI5のためにそれを必要とします。

は、私のようなもの使用することができます var myControl = sap.ui.getCore().byId('myId');

をしかし、完全なID(MYID)と一致する必要がありませんか?ありがとう。

+0

SAPUI5については考えていませんが、この 'jquery'タグが付けられ、jqueryでjqueryセレクタが使用されました。jqueryで試してください:' $( "input [id * = 'PART_OF_ID_I_KNOW']") ' –

答えて

0
when you use `var myControl = sap.ui.getCore().byId('myId');` 

あなたはsap.ui.getCore(によってコントロールを取得しようとするので、それはwork.Itがありません)が自動的にあなたのIDなどsap.ui.getCore().byId('xml0--myId')に余分な文字列をCONCAT sapui5、あなたはその後、マニフェストしばらくのviewIdを提供している場合それを使用するレンダリングコントロール。例えば sap.ui.getCore().byId('yourManifiestId--myId')

2

)(私はこれをお勧めしませんが、あなたは、it.YouはjQueryを使って類似したIDを持つ要素のために見ることができる記述要素のIDを取得し、sap.ui.getCoreにそれを渡すように、方法で可能ですけれども.byId();

var aElements = $("div[id*='PART_OF_ID_YOU_KNOW']"); 
//Lets say the first element returned is the one belonging to your control 
var oControl = sap.ui.getCore().byId(aElements[0].id); //If the element is a SAPUI5 control, you should get it. 
0

なぜこれを行う必要がありますか?ビューとフラグメント内のコントロール(プレフィックス付きID)にアクセスしたいからですか?コントロールに "myControl"というIDを渡しましたが、フレームワークにプレフィックスが追加されたため、sap.ui.getCore().byId("myControl")は機能しません。 「はい」の場合、コントロールへの参照を取得する唯一の信頼できる方法は、MVCのビューとコントローラーで提供されているフレームワークメソッドとフラグメントを使用することです。あなたのビューに「myButtonという」と呼ばれるコントロールを持っている場合は

は、あなたのコントロールへの参照を取得するために、コントローラからthis.byId("myButton")this.getView().byId("myButton")を行います。その後、

あなたはsap.ui.xmlfragment(「」、「myFragment.fragment.xml」)を介して、あなたのビューに埋め込まれたフラグメントに「myButtonという」と呼ばれるコントロールを持っている場合は、それをアクセスするためにsap.ui.core.Fragment.byId("<prefix>", "myButton")を使用しています。

何をしても、フレームワークがこれらのプレフィックスIDをどのように作成するかについては仮定しないでください。これらは文書化されておらず、変更することができます。