2015-06-24 2 views
0

У меня есть небольшое popover окно, которое я называю с этой функцией:2 JavaScript функции не работает при использовании вместе

$('.pop').popover({ 
    html: true, 
    title: function() { 
     return $("#popover-head").html(); 
    }, 
    content: function() { 
     $('#hidden-input').val(this.id); 
     return $("#popover-content").html(); 
    } 
}); 

У меня есть еще одна функция JS, которая проверяет выбор флажок убедившись, по крайней мере, один был выбран

// required checkboxes 
var requiredCheckboxes = $("#car").find(':checkbox[required]'); 

requiredCheckboxes.change(function(){ 
    if(requiredCheckboxes.is(':checked')) { 
     requiredCheckboxes.removeAttr('required'); 
    } 
    else { 
     requiredCheckboxes.attr('required', 'required'); 
    } 
}); 

Оба работают правильно, пока не пользуюсь функцией checkbox внутри окна popover.

Любые решения для объединения этих двух?

Edit:

HTML:

<!-- Popup select table --> 
<div id="popover-head" class="hide"> 
    Select Animal 
</div> 
<div id="popover-content" class="hide"> 
    <form method="post" id="car"> 
<fieldset> 
    <legend>What is Your Favorite Pet?</legend> 
    <input type="checkbox" name="animal" value="Cat" required/>Cats 
    <br /> 
    <input type="checkbox" name="animal" value="Dog" required />Dogs<br /> 
    <input type="checkbox" name="animal" value="Bird" required />Birds<br /> 
    <input type="submit" value="Submit now" /> 
</fieldset> 
</form> 
</div> 
+0

Это не выглядит как HTML –

+0

HTML, был размещен в моем OP – WayBehind

ответ

0

Поместите функцию проверки флажок для поповер обратного вызова.

$('.pop').popover({ 
    html: true, 
    title: function() { 
     return $("#popover-head").html(); 
    }, 
    content: function() { 
     $('#hidden-input').val(this.id); 
     return $("#popover-content").html(); 
    }, 
    callback: function(){ 
    // validation codes 
    } 
}); 
+0

я пытался ваше решение, но не повезло и функции флажок еще спрашивать мне нужно проверить все поля. Какие-либо предложения? – WayBehind

0

Возможно, проблема связана с отсутствием флажков при выполнении этого второго сегмента кода.

Скорее делегировать изменения слушателя к телу:

$("body").on('change', '#cars :checkbox[required]', function() { ... }); 
+0

Я пробую ваше решение, но я должен делать что-то не так, поскольку поппер даже не откроется. Можете ли вы опубликовать полный код? – WayBehind

+0

Слушатель изменений не должен влиять на popover вообще. Взгляните на документы jQuery для .on (http://api.jquery.com/on/). Я могу опубликовать более подробную информацию позже. – nicholas

+0

Я очень благодарен вам за помощь, у меня были некоторые отсутствующие скобки, и я работал над ним, но проверка по-прежнему просит меня проверить все флажки. Есть идеи? – WayBehind

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