$(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を使わないオブジェクトのマージ方法も存在する。