Выбор одного из c возможностью коректировки
Добрый день. Столкнулся с такой проблемой не могу сообразить как можно решить такую задачу. Есть у меня checkbox несколько вариантов с проверкой которые присвистывают значения выбран флажок или нет.
Но требуется ещё при выборе добавить возможность редактирования. вот код чеков: <script> function valuesSum() { var sum = 0; var checks = document.getElementsByName('uv_check[]'); for(var i = 0; i < checks.length; i++) { if(checks[i].checked) sum += parseInt(checks[i].value, 10); } var str = new String(sum); while(str.length < 4) str = '0' + str; forma.uv_check_java.value=str; } </script> $licacheck[1]="текст текст текст"; $licacheck[2]="текст1 текст1 текст1"; $licacheck[3]="текст2 текст2 текст2"; $licacheck[4]="текст3 текст3 текст3"; <input type='checkbox' name='uv_check[]' class='uv_check' value='1000' onclick=valuesSum()>'".$licacheck[1]."'<Br> <input type='checkbox' name='uv_check[]' class='uv_check' value='100' onclick=valuesSum()>'".$licacheck[2]."'<Br> <input type='checkbox' name='uv_check[]' class='uv_check' value='10' onclick=valuesSum()>'".$licacheck[3]."'<Br> <input type='checkbox' name='uv_check[]' class='uv_check' value='1' onclick=valuesSum()>'".$licacheck[4]."'<Br> <input type='hidden' id='uv_check_java' value=0 name='uv_check_java'> но как сделать чтобы при выборе чека можно было этот вариант ещё и поправить так ещё и не додумался. Может кто предложит как решить задачу? |
Цитата:
|
Допустим выбрал чек 1. Мне надо чтобы появился допустим <input type='text'> где подставится значение чек 1 "текст текст текст" который
можно отредактировать например " так так так" и отправить это значение отдельной переменной. Ну вот как я это вижу. Понятно или более детально объяснить? Просто в верхнем коде я проверял на отмеченные или нет и отправлял цифры а потом брал из базы резал их и подставлял значения . Тогда было в задании просто выбор одного из без возможности редактирования а теперь надо дать возможность редактирования выбраного чека. |
Цитата:
|
Цитата:
<!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> <!-- <link rel="stylesheet" type="text/css" href="tmp.css" /> --> <style type="text/css"> label { display: block; } label + label { margin-top: 2px; } label [type='text'] { display: none; } </style> <script type="text/javascript"> $(document).ready(function (){ $(':checkbox').click(function (){ if (this.checked) { $(this).next().show().val(this.value); } else { $(this).next().hide(); }; }); }); </script> </head> <body> <form> <label> Item 1 <input type='checkbox' value='1' /> <input type='text' value='' /> </label> <label> Item 2 <input type='checkbox' value='2' /> <input type='text' value='' /> </label> <label> Item 3 <input type='checkbox' value='3' /> <input type='text' value='' /> </label> </form> </body> </html> |
очень благодарю то что доктор прописал!
|
<label> Item 1 <input type='checkbox' value='1' /> <br><input type='text' value='' /> </label> А почему если поставить с новой строки то уже не отображается вроде должно работать( |
Цитата:
Используйте css (display: block) или исправтьте скрипт |
как бы скрипт исправить
|
Цитата:
|
Либо:
$(this).next()заменить на $(this).next().next() Либо: $(this).next()заменить на $(this).parent().find('input') |
Цитата:
|
я же писал, используйте CSS
label input {display: block;} |
Цитата:
<!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> <!-- <link rel="stylesheet" type="text/css" href="tmp.css" /> --> <style type="text/css"> label { display: block; } label + label { margin-top: 2px; } label [type='text'] { display: none; } </style> <script type="text/javascript"> $(document).ready(function (){ $(':checkbox').click(function (){ if (this.checked) { $(this).nextAll('input:text').show().val(this.value); } else { $(this).nextAll('input:text').hide(); }; }); }); </script> </head> <body> <form> <label> Item 1 <input type='checkbox' value='1' /> <br /> <input type='text' value='' /> </label> <label> Item 2 <input type='checkbox' value='2' /> <br /> <input type='text' value='' /> </label> <label> Item 3 <input type='checkbox' value='3' /> <br /> <input type='text' value='' /> </label> </form> </body> </html> |
Но теперь уже не отредактируешь так как оно скрывается при нажатии ((
|
Цитата:
|
<!DOCTYPE html> <html> <head> <style type="text/css"> input{ margin-bottom: 12px; } input[type='text']{ margin-left: 12px; } input{ margin-bottom: 12px; margin-top: 2px; } input + input{ display: none; } input:checked + input[type='text'] { display: inline-block; } </style> </head> <body> <form> <label for=check1>Item 1</label> <input id=check1 type='checkbox' value='1' /><input type='text' value='' /><br /> <label for=check2>Item 2</label> <input id=check2 type='checkbox' value='2' /><input type='text' value='' /><br /> <label for=check3>Item 3</label> <input id=check3 type='checkbox' value='3' /><input type='text' value='' /><br /> </form> </body> </html> |
интерестно то что оно не скрывает если текст выделять а если только нажать то он прячется (
|
Поправил
|
Часовой пояс GMT +3, время: 12:58. |