JSスニペット 通信関連

 GETパラメタ取得


	var queryString = window.location.search;
	if(queryString){
	  queryString = decodeURI(queryString.substring(1));
	  var parameters = queryString.split('&');

	  for (var param of parameters) {
	    var element = param.split('=');
	    var paramName = decodeURIComponent(element[0]);
	    var paramValue = decodeURIComponent(element[1]);

	    queryObject[paramName] = paramValue;
	  }
	}

 API叩いたとき向けselectのoptionをjsonで持ってきて指定のエレメントにセットする


	const setSelect = async(url,element_id,value_key,text_key)=> {
	await $.ajax({
		type : "GET",
		url : url,
		data : {
		},
		dataType : "json",
		cache : false
	}).done(function (json) {
		var select_element = document.getElementById(element_id);
		select_element.innerHTML = "";
		for ( var romMap of json["data"]) {
			var option = document.createElement('option');
			option.setAttribute('value', romMap[value_key]);
			option.innerHTML = romMap[text_key];
			select_element.appendChild(option);
		}

	}).fail(function (data) {
		// Error
	}).always(function (data) {
		// 常に実行する処理
	});

}
fastFunc = async()=> {
	//初期化処理
	await setSelect("./brest/major_class/","major_classification_code_input",'class_code','class_name');
}
fastFunc();
//帰ってくるjsonは
/*
{
    "data": [
        {
            "id": "1",
            "user_section_id": "1",
            "class_code": "1",
            "class_name": "家 具"
        },
        {
            "id": "2",
            "user_section_id": "1",
            "class_code": "2",
            "class_name": "TAKE OUT"
        }
    ]
}
*/
//おまけ指定のvalueが選択されるようにする
const selected_option =(target_id,value)=>{
	let option_list = document.getElementById(target_id).options;
	for ( var r_key in option_list) {
		option_row = option_list[r_key];
		if(option_row.value==value){
			option_row.selected = true;
		}
	}
}

コメント

このブログの人気の投稿

ネットギア WiFi6 無線lan 法人向け メッシュ アクセスポイント WAX610の初期設定

Raspberry Pi 4 でデュアルディスプレイの拡張・複製

【更新】福祉施設向け事務用PC選定