$(document).ready(function(){ // ~ 読込イベント処理 ~ });サンプル(省略型)
$( function() { // ~ 読込イベント処理 ~ });
<a href="xxx" onclick="return false" />リンク</a>
$("th a").attr('onclick','return false;');//リンク遷移を無効にする。 $("th a").attr('onclick','return true;');//リンク遷移を有効にする。
<input id="sec1-nimal1" type="radio" name="animal" value="neko"><label>猫</label> <input id="sec1-nimal2" type="radio" name="animal" value="nezumi"><label>ネズミ</label> <input id="sec1-nimal3" type="radio" name="animal" value="usi"><label>ウシ</label> <input id="sec1-nimal4" type="radio" name="animal" value="tora"><label>トラ</label>
//★チェック項目のvalue属性の値を取得
function getCheck(){
var rs = $('input[name="animal"]:checked').val();
alert(rs);
return rs;
}
//★チェックを入れる。
$('input[name="animal"]:checked').prop('checked', false);//一旦すべて解除
$('#animal2').prop('checked', true);
//★すべてのチェックを解除する。
$('input[name="animal"]:checked').prop('checked', false);
valueを指定してチェックを入れる場合
$("[name='animal']").val(['nezumi']);
$("#test").show();//★表示 $("#test").hide();//★非表示 $("#test").toggle();//★表示切替表示切替は、押すたびに表示と非表示を切り替える。
$("#test").show(500);//ゆっくり表示他にもアニメーション表示やコールバック関数を仕込んだりもできる。
表示か非表示かを判定する
displayがblockであるなら表示と判定する。if ($('#test').css('display') == 'block') { // 表示の場合 } else { // 非表示の場合 }
<script src="jquery-1.11.1.min.js"></script> <script src="jquery-ui.min.js"></script> <script src="jquery.multiselect.js"></script> <link rel="stylesheet" type="text/css" href="jquery-ui.min.css"> <link rel="stylesheet" type="text/css" href="jquery.multiselect.css">JS
$(document).ready(function(){ $("#xxx").multiselect({ minWidth:300, selectedList: 50, checkAllText: "全選択", uncheckAllText: "選択解除", noneSelectedText: "未選択", }); $("#xxx").multiselect(); });HTML
<select id="xxx" multiple="multiple" size="8"> <option value="neko">ネコ</option> <option value="nezumi">ネズミ</option> <option value="usi" selected>ウシ</option> <option value="tora">トラ</option> <option value="u" selected>ウ</option> <option value="saru">サル</option> <option value="niwatori">ニワトリ</option> <option value="yagi">ヤギ</option> <option value="buta">ブタ</option> <option value="tokage">トカゲ</option> <option value="habu">ハブ</option> <option value="kani">カニ</option> <option value="roba">ロバ</option> </select>
function test(){ var str='';; $("#xxx option:selected").each(function(){ //console.log($(this).val()); str+=$(this).val() + ","; }); alert(str); }開発者サイト(ライブラリ等のダウンロード元)
<div animal='yagi'>ヤギ</div>JS
var v=$("[animal ^= 'yagi']").html();
var x=$("#test").parents('label').html();
<label xxx="x_kani">先祖<div>祖父<div>親<div id="test">子</div></div></div></label>サンプル
//一覧のすべてのチェックボックスにチェックを入れる。 function allChecked(){ var btnText=$("#btn_all_chk").val(); if(btnText=='すべて選択'){ $(".chk_sel").prop({'checked':'checked'}); $("#btn_all_chk").val('すべてはずす'); }else{ $(".chk_sel").prop({'checked':false}); $("#btn_all_chk").val('すべて選択'); } }
<input id="btn_all_chk" type="button" value="すべて選択" onclick="allChecked()" /><br> <table border="1"> <thead> <tr><th>チェック</th><th>ダミー</th></tr> </thead> <tbody> <tr> <td><input type="checkbox" class="chk_sel" /></td> <td>ネコ</td> </tr> <tr> <td><input type="checkbox" class="chk_sel" /></td> <td>ネズミ</td> </tr> <tr> <td><input type="checkbox" class="chk_sel" /></td> <td>ウシ</td> </tr> <tr> <td><input type="checkbox" class="chk_sel" /></td> <td>トラ</td> </tr> </tbody> </table>
$(function(){ //テキストエリアのイベント。文字数を数える $('#ta1').bind('keydown keyup keypress change',function(){ var len = $(this).val().length; $('#cnt1').html(len); }); });
文字数: <span id="cnt1">0</span><br> <textarea id="ta1" rows="5" cols="100"></textarea>サンプル 参考URL
<link rel="stylesheet" type="text/css" href="common1.css" /> <link rel="stylesheet" type="text/css" href="jquery-ui.min.css" /> <link rel="stylesheet" type="text/css" href="jquery.ui.timepicker.css" /> <script src="jquery-1.11.1.min.js"></script> <script src="jquery-ui.min.js"></script> <script src="jquery.ui.timepicker.js"></script>
$(document).ready(function(){ $('#test').timepicker({ showLeadingZero: false,// 0を消す。例 02=>2 hourText: '時', minuteText:'分', hours: { starts: 0, // 始時 ends: 23 // 終時 }, minutes: { starts: 0, // 始分 ends: 55, // 終分 interval: 1, // 分間隔 }, }); });HTML
<input id="test1" type="text" />
サンプル・セレクトボックスのコード
<select id="test"> <option value="1">ネコ</option> <option value="2">ネズミ</option> <option value="3" selected>ウシ</option> <option value="4">トラ</option> <option value="5">鵜</option> </select>
値と選択肢の取得
//選択している項目のvalueを取得 var a=$("#test").val(); //選択している選択肢を取得→例:ウシ var b=$("#test option:selected").text();※選択肢の取得は「var b=$("#test option:selected").html();」でも取得できる。
値をセットする
$("#test").val(5);
チェックボックスの値を取得する方法1
<input id="test1" type="checkbox" value=3 />
var a=$("#test1:checked").val();
alert(a);
//チェックしている場合はvalueの値である3が取得される。
//チェックしていない場合は、undefinedが取得される。
チェックボックスの値を取得する方法2
<input id="test2" type="checkbox" value=3 />
var a=$("#test2").prop("checked");
alert(a);
//チェックしている場合はtrue,していない場合はfalse
if($('#neko')[0]){
alert('neko要素は存在します');
}else{
alert('neko要素は存在しません');
}
サンプル
var position = $("#ini_position").offset().top; $('html,body').scrollTop(position);#ini_positionはジャンプ先の要素のid属性。
<table id="tbl1" class="table"> <thead><tr><th>ID</th><th id="clm2">名称</th><th id="clm3">数値A</th><th>数値B</th></tr></thead> <tbody> <tr><td>1</td><td>nezumi</td><td>10</td><td>100</td></tr> <tr><td>2</td><td>usi</td><td>20</td><td>200</td></tr> <tr><td>3</td><td>tora</td><td>30</td><td>300</td></tr> <tr><td>4</td><td>鵜</td><td>40</td><td>400</td></tr> </tbody> </table> <input type="button" class="btn btn-success" value="列(数値A)の表示切替" onclick="test()" />
function test(){ var clm_index=$("#clm3").index(); $("#clm3").toggle(); $.each($("#tbl1 tbody tr"), function() { var td=$(this).children(); td.eq(clm_index).toggle(); }); }サンプル
clm_show_hide.js
HTMLテーブルの列を表示したり非表示にしたりできるJSライブラリ。HTMLソースコード
<div id="clm_cbs">列表示切替</div> <div style="clear:both"></div> <table id="tbl1" border="1" ><thead> <tr> <th>Id</th> <th>名</th> <th>国</th> <th>生年</th> <th>没年</th> <th>活躍年</th> </tr></thead> <tbody> <tr> <td>1</td> <td><div contenteditable="true" >ナポレオン</div></td> <td><div contenteditable="true" >フランス</div></td> <td>1769</td> <td>1821</td> <td>1798</td> </tr> <tr> <td>2</td> <td class="h_name">マリア・テレジア</td> <td><div style="width:100%" contenteditable="true" >リトアニア</div></td> <td>1717</td> <td>1780</td> <td>1740</td> </tr> <tr> <td>3</td> <td class="h_name">エリザベス1世</td> <td>イギリス</td> <td>1533</td> <td>1603</td> <td>1560</td> </tr> <tr> <td>4</td> <td class="h_name">アールパード</td> <td>ハンガリー</td> <td>845</td> <td>907</td> <td>896</td> </tr> </tbody> </table>
JSソースコード
<script> $(function() { //▽列表示切替機能の初期化 var iniClmData=[1,1,0,0,0,1];// 1:初期表示 0:初期非表示 var csh=new ClmShowHide(); csh.init('tbl1','clm_cbs',iniClmData,'sample_xxx');// テーブルID,チェックボックス区分ID,初期パラメータ,画面毎に異なる任意の値 }); </script>サンプル
<table id="samp_tbl" class="tbl2">
<thead>
<tr><th>id</th><th>コード</th><th>名前</th><th>備考</th></tr>
</thead>
<tbody>
<tr><td>1</td><td>neko</td><td>猫</td></tr>
<tr><td>2</td><td>yagi</td><td>山羊</td><td>草食</td></tr>
<tr><td>3</td><td>same</td><td>鮫</td></tr>
<tr><td>4</td><td>wasi</td><td>鷲</td></tr>
<tr><td>5</td><td>goki</td><td>御器</td></tr>
</tbody>
</table>
<br><br>
列インデックス:<input type="text" id="clm_index" value="2" style="width:40px" /><br>
<input type="button" value="列表示" onclick="clmShow()" class="btn btn-success" />
<input type="button" value="列非表示" onclick="clmHide()" class="btn btn-success" />
function clmShow(){
var tbl = jQuery('#samp_tbl');
var clm_index = jQuery('#clm_index').val();
tblClmShow(tbl,clm_index);
}
function clmHide(){
var tbl = jQuery('#samp_tbl');
var clm_index = jQuery('#clm_index').val();
tblClmShow(tbl,clm_index,0);
}
/**
* テーブルの列表示を切り替える
* @param object tbl テーブル要素(セレクタ)
* @param int 列インデックス(一番左は0)
* @param int show_flg 表示フラグ 0:非表示 , 1:表示(デフォルト)
*/
function tblClmShow(tbl,clm_index,show_flg){
if(show_flg == null ) show_flg = 1;
if(!(tbl instanceof jQuery)) tbl = jQuery(tbl);
if(!tbl[0]) return;
if(isNaN(clm_index)) return;
var th = tbl.find("thead tr th").eq(clm_index);
if(show_flg == 1){
th.show();
}else{
th.hide();
}
jQuery.each(tbl.find("tbody tr"), (i,elm) => {
var td=$(elm).children();
if(show_flg == 1){
td.eq(clm_index).show();
}else{
td.eq(clm_index).hide();
}
});
}
$(".animal").each(function (index, elm) { console.log('index='+index);//連番 console.log('elm.value='+$(elm).val());//ループで取得した要素 });サンプル(チェックボックスを配列として扱う)
<label><input class="animal" type="checkbox" value="2" />2:トラ</label><br> <label><input class="animal" type="checkbox" value="3" />3:鵜</label><br> <label><input class="animal" type="checkbox" value="4" />4:サル</label><br> <label><input class="animal" type="checkbox" value="5" />5:トリ</label><br>
var ary=[]; var obj={}; $(".animal").each(function (index, elm) { //チェックボックスリストのチェック状態を配列で取得する。 var flg=$(elm).prop('checked'); ary.push(flg); var v=$(elm).val(); obj[v]=flg; }); console.log('チェック状態配列'); console.log(ary); console.log('チェック状態連想配列'); console.log(obj);
var a1={'id':3,'name':'kani'}; var a2={'name':'same','age':123}; $.extend(a1, a2); console.log(a1); //マージ結果 //age: 123 //id: 3 //name:"same"
注意:多次元要素のマージ
通常$.extendは1次要素だけマージする。2次要素以降の下層のデータもマージする場合、以下のようにする。ES6のオブジェクトマージ
ES6(ES2015)からはjQueryを使わないオブジェクトのマージ方法も存在する。