Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.08.2015, 16:18
Интересующийся
Отправить личное сообщение для Mirtle@tut.by Посмотреть профиль Найти все сообщения от Mirtle@tut.by
 
Регистрация: 18.08.2015
Сообщений: 18

Не знаю как упростить мой скрипт, может кто направит в нужном направлении.
<html>
<head>
<body>
<div>
<h2>Таблица</h2>
<ul>
<li><input type = "checkbox"> кот </li>
<li><input type = "checkbox"> собака </li>
</ul>
<form>
<input type = "text">
<input type = "submit">
</form>
</div>
<script>
$("div").on("click", "input:submit", function(e) {


var result = $("input:text").val();
$("<li><input type = 'checkbox'>" + result + "</li>").appendTo('ul');

if("input:submit"){
$("input:text").val("");
}


$("input:checkbox").click(function(e) {

var check = $(this).prop("checked");
console.log(check);
if (check == true) {
$("input:checked").closest("li").css("text-decoration", "line-through");
}

else {
$(this).closest("li").css("text-decoration", "none"); // closest("li")-родитель checkbox

}

});
});

$("input:checkbox").click(function(e) {

var check = $(this).prop("checked");

if (check == true) {
$("input:checked").closest("li").css("text-decoration", "line-through");
}

else {
$(this).closest("li").css("text-decoration", "none");

}

}
);

$('form').on('submit', function(e) {
e.preventDefault();

});

</script>
</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 18.08.2015, 18:31
Интересующийся
Отправить личное сообщение для Mirtle@tut.by Посмотреть профиль Найти все сообщения от Mirtle@tut.by
 
Регистрация: 18.08.2015
Сообщений: 18

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
	
	<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
	<style>
	li{list-style: none;
	
	}
	</style>
</head>
<body>
<div>
<h2>Таблица</h2>
<ul>
<li><input type = "checkbox"> кот </li>
<li><input type = "checkbox"> собака </li>
</ul>
<form>
<input type = "text">
<input type = "submit">
</form>
</div>


[js]
<script>
$("div").on("click", "input:submit", function(e) {


var result = $("input:text").val();
$("<li><input type = 'checkbox'>" + result + "</li>").appendTo('ul');

if("input:submit"){
$("input:text").val("");
}

*!*
$("input:checkbox").click(function(e) {

var check = $(this).prop("checked");
console.log(check);
if (check == true) {
$("input:checked").closest("li").css("text-decoration", "line-through");
} 

else {
$(this).closest("li").css("text-decoration", "none"); // closest("li")-родитель checkbox

}
*/!*
});
});

$("input:checkbox").click(function(e) {

var check = $(this).prop("checked");

if (check == true) {
$("input:checked").closest("li").css("text-decoration", "line-through");
} 

else {
$(this).closest("li").css("text-decoration", "none");

}

}
);

$('form').on('submit', function(e) {
e.preventDefault();

});

</script>
[/js]
</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 18.08.2015, 18:39
Интересующийся
Отправить личное сообщение для Mirtle@tut.by Посмотреть профиль Найти все сообщения от Mirtle@tut.by
 
Регистрация: 18.08.2015
Сообщений: 18

Хотелось бы чтобы в программе выделенный код был один раз. Чтобы по нажатию на checkbox текст тоже выделялся не зависимо нажала я на div или нет. Пока у меня это сделано дублированием выделенного кода. Не знаю пока как это организовать. Я только учусь .
Ответить с цитированием
  #4 (permalink)  
Старый 18.08.2015, 18:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Mirtle@tut.by,
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>

	<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
	<style>
	li{list-style: none; background-color: #DEB887;border : 1px solid #FF0000; width: 200px;}
    label{
      display: block;
      width: 100%;
    }

	</style>
</head>
<body>
<div>
<h2>Таблица</h2>
<ul>
<li><label><input type = "checkbox"> кот </label></li>
<li><label><input type = "checkbox"> собака </label></li>
</ul>
<form>
<input type = "text">
<input type = "submit">
</form>
</div>



<script>
var inp = $("input:text");
$("div").on("click", "input:submit, input:checkbox", function(a) {
    $(this).is(":checkbox") ? $(this).parents("li").css("text-decoration", this.checked ? "line-through" : "none") :
    (a.preventDefault(), (a = $.trim(inp.val())) && $("<li><label><input type = 'checkbox'> " + a + " </label></li>").appendTo("ul"), inp.val(""))
});
</script>

</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 18.08.2015, 22:28
Интересующийся
Отправить личное сообщение для Mirtle@tut.by Посмотреть профиль Найти все сообщения от Mirtle@tut.by
 
Регистрация: 18.08.2015
Сообщений: 18

Спасибо большое. Вот это он укоротился.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как упростить скрипт движения картинки zawm Элементы интерфейса 1 18.07.2015 10:33
Кто то может подсказать как забрать данные со страницы загруженой в ифрейме другого с AnteFil AJAX и COMET 6 22.12.2014 10:29
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
Как выделить активный пункт меню в моём случаи? может кто помочь? nStyle jQuery 10 11.03.2012 01:51
Может кто подсказать как можно сделать submit из левого фрейма в правый maxander Internet Explorer 1 28.11.2008 10:15