トッカンソフトウェア

jQuery 入力項目

今回は画面入力をやります。


				
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jQuery Test</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<script>
	function getValue(){
		var str = "テキスト:" + $("#id1").val();
		str += "<br />";
		str += "<br />";
		str += "コンボボックス:" + $("#sel1").val();
		for( var i = 0; i < $("#sel1").children().length; i++ ){
			str += "<br />";
			str += $("#sel1").children().eq(i).val();
			str += "-";
			str += $("#sel1").children().eq(i).text();
		}
		str += "<br />";
		str += "<br />";
		str += "チェックボックス:";
		$("[name='chk1']:checked").each(function(){
			str +=  $(this).val();
		});
		for( var i = 0; i < $("[name='chk1']").length; i++ ){
			str += "<br />";
			str += $("[name='chk1']").eq(i).val();
		}
		str += "<br />";
		str += "<br />";
		str += "ラジオボタン:";
		$("[name='rd1']:checked").each(function(){
			str +=  $(this).val();
		});

		$("#div1").html(str);
	}

	function setValue(){
		$("#id1").val("ABC");
		$("#sel1").val("c");
		$("[name='chk1']").val(["c"]);
		$("[name='rd1']").val(["c"]);
	}

	$(function() {
		$("#btn1").click(function(){
			getValue();
		});

		$("#btn2").click(function(){
			setValue();
		});

		$("#btn3").click(function(){
			$("[name='chk1'][value='a']").prop("checked", true);
			$("[name='chk1']:eq(1)").prop("checked", true);
		});

		$("#div1").html("準備完了");
	});
</script>
</head>
<body>
	<input type="text" name="name1" id="id1" value="X" />
	<select id="sel1">
		<option value="a">あ</option>
		<option value="b">い</option>
		<option value="c">う</option>
	</select>
	<br />
	<br />
	<input type="checkbox" name="chk1" value="a" />あああ<br>
	<input type="checkbox" name="chk1" value="b" checked />いいい<br>
	<input type="checkbox" name="chk1" value="c" />ううう<br>
	<br />
	<input type="radio" name="rd1" value="a" />あああ<br>
	<input type="radio" name="rd1" value="b" checked />いいい<br>
	<input type="radio" name="rd1" value="c" />ううう<br>
	<br />
	<br />
	<input type="button" id="btn1" value="ゲット" />
	<input type="button" id="btn2" value="セット" />
	<input type="button" id="btn3" value="ラジオボタンチェック" />
	<hr / >
	<div id = "div1">読込中</div>
</body>
</html>



			

テキスト、コンボボックス

テキストとコンボボックスはval()メソッドを使って、値の取得、値のセットを行います。
				
// 値の取得
var str = $("#id1").val();

// 値のセット
$("#id1").val("ABC");

// コンボボックス項目数の取得
$("#sel1").children().length

// コンボボックス項目値の取得
$("#sel1").children().eq(i).val()

// コンボボックス項目テキストの取得
$("#sel1").children().eq(i).text()


			
コンボボックスを動的に、項目追加、指定項目削除、全項目削除を行うには以下のようにします。
				
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>jQuery Test</title>
		<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
		<script>
			$(function() {

				//項目追加
				$('#sel1').append($('<option>').html("追加値①").val("001"));

				//指定項目以外削除
				$('#sel1').children('option[value!=""]').remove();

				//全項目削除
				$('#sel1').children().remove();
			});
		</script>
	</head>
	<body>
		<select id="sel1">
			<option value="">選択して下さい</option>
		</select>
	</body>
</html>


			

チェックボックス、ラジオボタン

チェックボックス、ラジオボタンもval()メソッドを使いますが、値の取得はeachでループをまわして取得し、セット時は配列を使用するか、
個別にセットする項目を指定します。
				
// 値の取得
var str = "";
$("[name='chk1']:checked").each(function(){
	str = $(this).val();
});

// 値のセット(総入れ替え)
$("[name='chk1']").val(["c"]);

// 値のセット(個別指定)
$("[name='chk1'][value='a']").prop("checked", true);
$("[name='chk1']:eq(1)").prop("checked", true);

// 項目数の取得
$("[name='chk1']").length


			
個別に値をセットするときはprop()メソッドを使います。

状態でフィルター

チェックされているものを:checkedで取得しましたが、他の状態も指定できます。
指定 状態
:checked チェックされている
:enabled 利用可能
:disabled 利用不可
:hidden hidden属性または非表示
:visible 表示
:even 偶数
:odd 奇数
:parent
:eq(index) 指定位置

コントロールを非活性(Disabled)にする

コントロールを非活性(Disabled)にするには、propメソッドを使います。

prop('disabled', true)で非活性(Disabled)になり、prop('disabled', false)で元に戻ります。
				
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jQuery Test</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<script>
	$(function() {
		$("#btn1").click(function(){
			$("#id1").prop('disabled', true);
		});
		$("#btn2").click(function(){
			$("#id1").prop('disabled', false);
		});
	});
</script>
</head>
<body>
	<input type="text" name="name1" id="id1" value="テキスト" />
	<input type="button" id="btn1" value="使えない" />
	<input type="button" id="btn2" value="使える" />
</body>
</html>


			


ページのトップへ戻る