2014-01-30 5 views
0

Привет, У меня есть требование, когда мобильная панель JQuery будет открываться при выполнении некоторых условий. Я попытался закрыть открытую панель, но это не сработало. Пожалуйста, помогите Спасибо заранее http://jsfiddle.net/NFkE2/1/Panel Open close not working

<input id="fieldValue" type="text" name="fieldValue" placeholder="Type in an Value" size="90" /> 
<a href='#mypanel' onClick='javascript:check();' data-icon="flat-checkround" class="ui-btn ui-shadow ui-corner-all ui-btn-inline ui-btn-mini">submit </a> 

<div data-role="panel" id="mypanel" data-position-fixed="true" data-position="left" data-display="overlay" data-theme="d"> 
This is Panel! 
</div> 
function check(){ 
var fieldValue = document.getElementById("fieldValue"); 
if(fieldValue.value==""){ 
    alert("closing panel"); 
$("#mypanel").panel("close" , optionsHash); 
}else{ 
$("#mypanel").panel("open" , optionsHash); 
} 
} 
+0

заменить 'href =" # mypanel "' с 'href =" # "' http://jsfiddle.net/Palestinian/NFkE2/9/ – Omar

ответ

0

Используйте этот код JavaScript

function check(){ 
    var fieldValue = document.getElementById("fieldValue"); 
    if(fieldValue.value==""){ 
    $("#mypanel").panel("toggle"); 
    } 
} 

DEMO

0

Во-первых, вы должны смотреть на вашей консоли JavaScript, так как есть предупреждения об ошибках в ней, которые могли бы (например, optionsHash не определено). Если вы не знаете, как найти javascript-консоль в своем браузере, вы можете сделать это с помощью быстрого поиска Google.

Я сделал новую скрипку для вас, что я думаю, что выполняет то, что вы пытаетесь сделать: Fiddle

Я никогда не использовал мобильный плагин JQuery, но я подозреваю, что это в вашем HTML:

<a href='#mypanel' onClick='javascript:check();' data-icon="flat-checkround" class="ui-btn ui-shadow ui-corner-all ui-btn-inline ui-btn-mini">submit </a> 

... заставляет панель открываться всякий раз, когда вы нажимаете кнопку отправки текста. В Fiddle, который я сделал для вас, нажатие панели всегда закрывает панель, и нажатие кнопки «Отправить» всегда открывает панель, но с пользовательским текстом, основанным на том, заполнен ли ваш ввод или нет. Но вы можете использовать ту же логику, чтобы показывать или не показывать панель в зависимости от входного значения.