javascript
  • ibm-mobilefirst
  • dojo
  • 2013-10-10 2 views 0 likes 
    0

    Что я здесь делаю, я рендерингом DOM (с флажком) в div (id = "euiview") программно. мой код похож наРендеринг DOM во время выполнения не работает в Dojox

    var iHtml='<span><input type="checkbox" id="cbox" data-dojo-type="dojox.mobile.CheckBox" onclick="toggleCheckbox()" class="addremove-check"><label for="cbox"> E&amp;U Imperatives </label> </span></p><p><span><input type="checkbox" id="cbox1" data-dojo-type="dojox.mobile.CheckBox" class="addremove-check"><label for="cbox1"> Transform the utility network </label></span></p>'; 
    
    domConstruct.place(iHtml,"euiview"); 
    

    где у меня есть div в html-странице.

    <div id="euiview" data-dojo-type="dojox.mobile.View"> 
    
        </div> 
    

    Теперь проблема я не могу проверить или снимите флажок в некоторых браузерах андроид устройств, но работает отлично в браузере настольного компьютера. могу ли я отобразить html таким образом, или мне нужно создать DOM программно? Пожалуйста, помогите мне. Спасибо

    ответ

    1

    Это зависит от того, когда вы разбираете свою страницу. Если вы проанализируете свою страницу после, вы добавите новый HTML-код, проблем не будет. Однако, если вы проанализируете свою страницу до, вы добавляете новый HTML-код, Dojo не будет анализировать этот DOM в виджетах и ​​поэтому ваш флажок не будет работать.

    Я предполагаю, что вы разбираете страницу на загрузке DOM, так что это действительно зависит от того, что выполняется в первую очередь. Решение, которое может работать, следующее:

    var iHtml='<div id="new-content"><p><span><input type="checkbox" id="cbox" data-dojo-type="dojox.mobile.CheckBox" onclick="toggleCheckbox()" class="addremove-check"><label for="cbox"> E&amp;U Imperatives </label> </span></p><p><span><input type="checkbox" id="cbox1" data-dojo-type="dojox.mobile.CheckBox" class="addremove-check"><label for="cbox1"> Transform the utility network </label></span></p></div>'; 
    
    domConstruct.place(iHtml,"euiview"); 
    parser.parse("new-content"); 
    

    С помощью этого вы можете убедиться, что новый контент разобран. Я также заметил, что вы закрываете свой тег </p>, но вы не поставили перед ним <p>.

    +0

    Спасибо Dimitri, Это точный ответ, который я искал. Я использовал parser.parse(); и это было исключение. Благодаря! – anand4tech

    +0

    Если бы вы могли помочь мне на вопрос, я разместил http://stackoverflow.com/questions/19114247/sorting-dojox-mobile-listitem-against-label – anand4tech

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