Значение jQuery для скрытия и отображения

Чтобы экспортировать каталог из GitHub, замените «/ tree / master /» в URL-адрес каталога «/trunk/".

Например, чтобы экспортировать каталог со следующего URL-адреса:

https://github.com/liferay/liferay-plugins/tree/master/portlets/sample-hibernate-portlet

выполните следующую команду:

svn export https://github.com/liferay/liferay-plugins/trunk/portlets/sample-hibernate-portlet
1
задан danhergir 13 July 2018 в 06:40
поделиться

6 ответов

один из способов сделать это - объявить переменную.

var inputValue;
$('#checkbox').change(function(){ 
    if ($('#checkbox').is(':checked')){
        inputValue = $('.test').val();
        $('.test').val('');
    } else {
        $('.test').val(inputValue);
    }
});

Для нескольких полей ввода. Идея @Rashid потрясающая. Сохраните значение в атрибуте data-value. И если флажок снят, вы можете получить значения, используя атрибут data-value.

$('#checkbox').change(function() { 
    if($('#checkbox').is(':checked')) {
    $.each($('.test'),function(){
      $(this).attr('data-value',$(this).val()).val("");
    });

    } else {
$.each($('.test'),function(){
      $(this).val($(this).attr('data-value'));
});
    }
});
4
ответ дан Ahmad 17 August 2018 в 13:34
поделиться
  • 1
    Ваш код работает, но что я могу сделать для нескольких входов? – danhergir 13 July 2018 в 06:30
  • 2
    По нескольким входам, что вы имеете в виду? Вы хотите скрыть значение всех полей ввода, если флажок установлен, или у каждого поля будет отдельный флажок? – Ahmad 13 July 2018 в 06:32
  • 3
    То, что я ищу, - это когда флажок не отмечен, не показывают никакого значения, и когда флажок установлен, отображаются значения на их соответствующих входах – danhergir 13 July 2018 в 06:37
  • 4
    Для этого вам нужно указать уникальный идентификатор каждого входного поля. Затем сохраните значения в парах значений ключа в переменной. Идентификатор поля ввода будет ключевым. При снятии отметки вы можете назначить значения для каждого поля ввода, используя ключ, сохраненный в переменной. – Ahmad 13 July 2018 в 06:41
  • 5
    Я не могу сказать, что это самый простой способ или нет. Я могу сказать только один способ сделать это. Вы должны попытаться это сделать. Подумайте о другом способе этого. Если вы считаете, что он не работает, вы всегда можете обратиться за помощью к stackoverflow. Счастливое кодирование! – Ahmad 13 July 2018 в 06:49

В вашем коде вы удаляете значение, когда установлен флажок #checkbox. Это не то, как вы скрываете элемент. Просто используйте css-дисплей, чтобы скрыть / показать элемент.

$('#checkbox').change(function() { 
    if ($('#checkbox').is(':checked')) {
        $('.test').css('display', 'none');
    } else {
        $('.test').css('display', 'block');
    }
});
0
ответ дан david 17 August 2018 в 13:34
поделиться
  • 1
    Ваш код только скрывает вход и показывает его снова. – danhergir 13 July 2018 в 06:33

Я думаю, вы должны использовать функцию jquery toggle().

$(document).ready(function(){
    $('input[type="checkbox"]').click(function(){
        var item = $(this).attr('name');
        $('input[name="'+item+'"][type="text"]').toggle();
    });
});

также проверить на скрипке: - http://jsfiddle.net/aaTq3/

0
ответ дан nageen nayak 17 August 2018 в 13:34
поделиться
  • 1
    OP не хочет скрывать поля ввода. Вместо этого он хочет сбросить значения входов, когда флажок установлен. – Ahmad 13 July 2018 в 06:58

Вы можете попробовать следующее:

$(document).ready(function(){
	$('input[type="checkbox"]').click(function(){ 
    var $this = $(this);
		var $item = $this.attr('name');
		var $input = $('input[name="'+$item+'"][type="text"]');
    var $inputValue = $input.val();
		
		if ($this.is(':checked')){
			$input.data('oldvalue',$inputValue);
			$input.val('');
		} else {
			$input.val($input.data('oldvalue'));
		}
	});
});
	body{line-height: 1.5;}
	input{display: block;margin: 10px 0 0;}
	input[type="checkbox"] { display: inline;}
	label{ margin: 0 10px 0 5px;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="options">
		<input type="checkbox" name="title"><label>Title</label>
		<input type="checkbox" name="author"><label>Author</label>
		<input type="checkbox" name="category"><label>Category</label>
	</div>
	<div class="container">
		<form method="post">
			<input type="text" name="title" placeholder="Title:">
			<input type="text" name="author" placeholder="Author:">
			<input type="text" name="category" placeholder="Category:">
			<input type="submit" value="Submit">
		</form>
</div>

1
ответ дан Rashid 17 August 2018 в 13:34
поделиться

попробуйте это

<input type="checkbox" id="myCheck"  onclick="myFunction()">

function myFunction() {
  // Get the checkbox
  var checkBox = document.getElementById("myCheck");
  // Get the output text
  var text = document.getElementById("text");

  // If the checkbox is checked, display the output text
  if (checkBox.checked == true){
    text.style.display = "block";
  } else {
    text.style.display = "none";
  }
}
0
ответ дан sandy 17 August 2018 в 13:34
поделиться

$('#checkbox').change(function() { 
    if($('#checkbox').is(':checked')) {

        var value = $('.test').val()
        $('.test').data('value',value).val('')

    } else {

        var value = $('.test').data('value')
        $('.test').val(value)

    }
});

0
ответ дан xujizhong 17 August 2018 в 13:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: