Friday, April 27, 2018

ajax success 與 javascript function return

function getDataByID(id) {
    var sValue = "";
    alert("1");
    $.ajax({
     
        type: 'GET',
        url: 'API url',
        data: { id: id },
        dataType: "json",
        beforeSend: function () {
        },
        success: function (data) {
            console.log(data);
            if (data.Data.length > 0) {
                sValue = data.Data[0].Name.toString();
             
                alert("2");
            }
        }
    })
 
    alert("3");
    return sValue;
}


ajax為非同步, alert顯示方式會是 1 -> 3 ->2
加入async: false 至ajax中, alert 顯示方式即為 1 -> 2 ->3
.......
$ajax{
async: false,
....

javascript 取得 select option 複選值

需求:
有二個Selector  selectA & selectB, selectB的值是根據selectA所產生, 且selectA為複選



<div>
<select class="selectpicker"  id="city" onchange="getUserSelect()" title="Multiple Selector" data-actions-box="true" data-live-search="true" multiple></select>
</div>

//get user option on selectA
function getUserSelect() {
    var selectCity = $('#city').val();
    var scity = "";

    if (!selectCity) {
        alert("No");
    } else {
        for (var i = 0; i < selectCity.length; i++) {
            scity = scity + selectCity[i];
        }
    }
    //call selectB function.
}

Thursday, April 19, 2018

javascript 網址間相互傳值


A網址URL : localhost/test/newOpen.aspx?A=TestingA&B=TestingB&C=TestingC



需求: 取得A網址中Request("C")的值, 並以javascript帶入B網址中
預期 B網址URL : localhost/test/editOpen.aspx?editA=editA&C=TestingC


解法:
  前端藏欄位 -> 後端取值 -> 丟回前端, 串回URL
  
Client端: 
 <input id="getC" type="hidden" runat="server" />   

Server端:
getC.Value=Request("C")

Javascript部份:
window.open("URL?&C=" + document.getElementById('getC').value + "");