javascript - Titanium Alloy - unable to disable Label inside Tabbedbar using id -
i have tabbedbar contains labels , inside have label enable property need change in .js file through coding. have tried setting id of particular label , have used. $.lblprof.enabled = false;
in .js file. throwing error:
undefined not object(evaluating '$.lblprof.enabled = false')
demo.xml
<tabbedbar id="tabbedbar" platform="ios" backgroundcolor="#369" top="44dp" height="30dp" width="300" index="0" onclick="tabbarclick"> <labels> <label>details</label> <label>photos</label> <label>documents</label> <label id="tabprofile">profile</label> </labels> </tabbedbar>
demo.js
$.tabprofile.enabled = true;
if trying disable directly i.e
<label id="lblprof" enabled="false">
its working fine.
as @visola mentioned, labels need id in order access them programmatically. otherwise, alloy gives them auto-generated id unhelpful humans.
xml
<tabbedbar id="tabbedbar" platform="ios" backgroundcolor="#369" top="44dp" height="30dp" width="300" index="0" onclick="tabbarclick"> <labels id='labelslist'> <label id='details'>details</label> <label id='photos'>photos</label> <label id='documents'>documents</label> <label id='tabprofile'>profile</label> </labels> </tabbedbar>
as tabprofile assignment, $
top-level object on page hierarchy. so, $.tabprofile
not exist. that's why changing has no effect. need drill down further page $.tabbedbar.labels.label
. said, label
has no enabled
property. so, app throws undefined
error.
i review titanium.ui.ios.tabbedbar documentation more examples. appears you'll need simulate disabling them changing color, light gray example, , setting touchenabled
false.
hope helps move forward.
Comments
Post a Comment