2013-08-26 2 views
0

У меня есть вопрос относительно JQm selectmenu widget, то, что я делаю, открывает меню выбора на контейнере, в котором он содержится.onclick div open selectmenu in jquery mobile

Fiddle Demo: -http://jsfiddle.net/4CKae/1/

Мой HTML: -

<div class="container" onClick="$('#select-choice-7').selectmenu('open');"> 
    <label for="select-choice-7" class="select">Select, native menu3</label> 
    <select name="select-choice-7" id="select-choice-7" data-native-menu="false"> 
     <option value="standard">Standard: 7 day</option> 
     <option value="rush">Rush: 3 days</option> 
     <option value="express">Express: next day</option> 
     <option value="overnight">Overnight</option> 
    </select> 
</div> 

Я пытаюсь открыть selectmenu через инлайн JQuery onClick="$('#select-choice-7').selectmenu('open');", но это показывает некоторые некоторые странные ошибки в моей Firebug консоли ,

Console Говорит: -

Firebug Console

too much recusion 

Мой Firefox v19 показывает эту ошибку на консоли и хром, к сожалению, падает ...

Что я делаю неправильно?

+1

Покажите странную ошибку, пожалуйста, с консоли. – JonathanRomer

+0

'слишком много рекурсии' от jquery.js – SaurabhLP

+0

Просьба привести пример в jsFiddle. – PiLHA

ответ

1

Вы не должны включать <select> в onclick элемент, он сделает это навсегда петлю, рабочий пример

Обновлено: http://jsfiddle.net/4CKae/6/

<label for="select-choice-7" class="select" onclick="$('#select-choice-7').selectmenu('open');">Select, native menu3</label> 

Или может быть какая-то проверка может исправить это

+0

Да, это приятный трюк исправить эту проблему ... Большое спасибо ... – SaurabhLP

+0

'label' может быть сделано как' position: absolute; 'для клика по контейнеру css .. – SaurabhLP

0

Я думаю цитаты есть проблема.

Попробуйте

onClick='$("#select-choice-7").selectmenu("open");' 

вместо

onClick="$('#select-choice-7').selectmenu('open');" 
+0

это не имеет значения, двойные и одинарные кавычки означают одно и то же в js и html –

+0

не работаю либо http://jsfiddle.net/4CKae/4/ – SaurabhLP

+0

@SaurabhLP. Я получаю меню выбора, но оно не покрывает весь div – Praveen

0

разметки:

<div class="container"> 
    <label for="select-choice-7" class="select">Select, native menu3</label> 
    <select name="select-choice-7" id="select-choice-7" data-native-menu="false"> 
     <option value="standard">Standard: 7 day</option> 
     <option value="rush">Rush: 3 days</option> 
     <option value="express">Express: next day</option> 
     <option value="overnight">Overnight</option> 
    </select> 
</div> 

Код:

$('#select-choice-7').selectmenu(); 

Обратите внимание, что здесь нет обработчика кликов и нет «открытого» параметра.

Fiddle (проверено в Chrome) http://jsfiddle.net/8GQx4/

+0

не работает im используя хром v29 ... – SaurabhLP

+0

Версия 28.0.1500.95 m - кажется, работает для меня. Какую ошибку вы видите в консоли? Я нажимаю кнопку выбора и вижу параметры. Кажется странным. –

+0

кажется, что он открывается при нажатии на метку меню выбора ... я протестировал его на мобильном устройстве Opera, но он работает не в настольных браузерах ... НЕТ ошибок ... – SaurabhLP

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