2013-11-01 3 views
-1

Мне нужно что-то сделать, когда я поставлю флажок, чтобы он всплывал с описанием, и он скажет, что нажмите здесь, чтобы добавить его к ur «total». То, что я в настоящее время это:Флажок с всплывающим окном и описание

http://pastebin.com/gy64A44q

Также коробки после того, как это первый один не приходит на вершине.

ответ

0

Вы могли бы фантазии это с диалогом JQuery , но confirm сделал бы трюк:

$(window).load(function() { 
    var total = $('#total').text('0'); // cache DOM lookup and set innerText 
    $('input:checkbox').change(function() { 
     var self = $(this), // cache DOM lookup 
      val = parseFloat(self.val(), 10), // grab value 
      isChecked = self.is(':checked'), // grab state 
      tot = parseFloat(total.text(), 10), // parse current total 
      wasAddedToTotal = self.data('wasAddedTotal'), 
      addToTotal = isChecked ? confirm('Add this to your total?') : false; 
     if (addToTotal && isChecked && !isNaN(val)) { 
      tot += val; 
      self.data('wasAddedTotal', true); 
     } else if (wasAddedToTotal) { 
      tot -= val; 
     } 
     total.text(tot); // set innerText 
    }); 
}); 

Вот демо: http://jsfiddle.net/mJA8c/

UPDATE:

Для смешков, вот демо несколько воображал с использованием диалогового окна JQuery: http://jsfiddle.net/mJA8c/1/

UPDATE:

Проблема CSS является вызванный jQuery, добавляющий второй элемент div, когда он добавляет диалог (не знаю почему). Решение, как представляется, добавлять динамически созданный элемент div первым, а затем вызвать .dialog на нем:

$('<div />').appendTo('body').dialog({ 
    ... 
}); 

в отличие от оригинала:

$('<div />').dialog({ 
    ... 
}).appendTo('body'); 

Это добавляет только предполагаемый div.ui-dialog.

Обновлено демо: http://jsfiddle.net/mJA8c/2/

+0

Пит, это прекрасно! У меня просто проблема с jquery css. Я получаю эту строку: http://puu.sh/55ABH.png строка:

+0

Можете ли вы опубликовать ссылку на страницу проблемы или опубликовать jsFiddle, воспроизводя проблему? – pete

+0

Если вы не можете опубликовать ссылку или настроить скрипку, можете ли вы хотя бы опубликовать остальную часть CSS в своем вопросе? В исходном сообщении не указывается никаких элементов 'div' с' class = "ui-dialog-content ui-widget-content" 'или' style = "display: block;" '(который я мог бы добавить, это отображение по умолчанию для' div', поэтому он может быть избыточным ...) – pete

0

Попробуйте этот код:

<!DOCTYPE html> 
<html> 
    <head> 
    <title>checkbox</title> 
    <script type="text/javascript"> 
    function checkmy() { 
    if (!document.form.agree.checked) { 
     missinginfo = "You must agree"; 
     alert(missinginfo); 
     return false; 
    } 
    else { 
     alert("Text information"); 
     return true; 
    } 
} 
</script> 
</head> 
<body> 
    <form name="form" method="post" action="#" onSubmit="return checkmy();"> 
    <input type="checkbox" name="agree" id="agree" value="agree_terms" class="terms"> 
    <label for="agree">ready to shop</label> 
    <input type="submit" name="submit" value="Submit" class="submit"> 
</form> 

Вы можете стилизовать ваш ящик оповещения также:
Отъезд jsFiddle здесь: http://jsfiddle.net/8cypx/12/

+0

мне не нужна кнопка заполни мне нужно всплывающее окно, когда они выбирают его, если возможно –

+0

используйте ** ** изменить событие '$ («# согласен»).. change (function() { alert ('Обработчик для .change() называется.'); }); ' – Sandy

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