0

私は剣道ドロップダウンリストとその動作を持っています.剣道ドロップダウンに表示するデータがない場合にポップアップまたは表示されるメッセージを配置できるかどうか疑問に思っています.jqueryを使用して実行できますか???

ここに私のコードがあります

<input id="ddlWorker" name="Worker" class:"validate[required] inputLong" style="width: 400px;" value="@workerPosId" required  />




$("#ddlWorker").kendoDropDownList({
            dataTextField: "workerName",
            dataValueField: "workerID",
            autoBind: false,


            optionLabel: {
                workerName: "--- Please Assign A Worker ---",
                workerID: ""

            },
            // define custom template
            template:
                                      '<h5>${ data.workerName }</h5>' +
'#if(data.AvailableDay_LookID) {#<p>${ data.AvailableDay_LookID }</p>#}#' +
'#if(data.StartTime && data.EndTime) {#<p>${ data.StartTime } - ${ data.EndTime }</p>#}#',

            dataSource: {
                transport: {
                    read: {
                        url: '/Client/LoadWorkerDropdownList?clientCusPosShiftId=' + clientCusPosShiftId,
                        dataType: "json",
                        type: "POST"
                    }
                }
            }

        });

ありがとう。

4

3 に答える 3

1

これを試して

var dropdownlist= $("#ddlWorker").kendoDropDownList({
                dataTextField: "workerName",
                dataValueField: "workerID",
                autoBind: false,


                optionLabel: {
                    workerName: "--- Please Assign A Worker ---",
                    workerID: ""

                },
                // define custom template
                template:
                                      '<h5>${ data.workerName }</h5>' +
'#if(data.AvailableDay_LookID) {#<p>${ data.AvailableDay_LookID }</p>#}#' +
'#if(data.StartTime && data.EndTime) {#<p>${ data.StartTime } - ${ data.EndTime }</p>#}#',

                dataSource: {
                    transport: {
                        read: {
                            url: '/Client/LoadWorkerDropdownList?clientCusPosShiftId=' + clientCusPosShiftId,
                            dataType: "json",
                            type: "POST"
                        }
                    }
                }

            }).data("kendoDropDownList");


dropdownlist.dataSource.bind("change", function(e) {
    var raw = dropdownlist.dataSource.data();
    var length = raw.length;
    if (length < 1) {
      alert("kendodropdown have zero data");
    }
});
于 2013-09-13T09:28:34.470 に答える
1

これを試すことができます。

var オブジェクトを使用して json データを格納します。

  var xhReq = new XMLHttpRequest();
  xhReq.open("POST", '/Client/LoadWorkerDropdownList?clientCusPosShiftId=' + clientCusPosShiftId, false);
  xhReq.send(null);
  var jsonObj = JSON.parse(xhReq.responseText);

JavaScriptの長さプロパティを使用して長さを確認します

if (jsonObj.length < 1)
    alert("kendodropdown have zero data");

データソースのバインド

$("#ddlWorker").kendoDropDownList({
            dataTextField: "workerName",
            dataValueField: "workerID",
            autoBind: false,


            optionLabel: {
                workerName: "--- Please Assign A Worker ---",
                workerID: ""

            },
            // define custom template
            template:
                      '<h5>${ data.workerName }</h5>' 
                      + '#if(data.AvailableDay_LookID) {#<p>${ data.AvailableDay_LookID }</p>#}#' 
                      + '#if(data.StartTime && data.EndTime) {#<p>${ data.StartTime } - ${ data.EndTime }</p>#}#',

            dataSource: jsonObj 

        });
于 2013-09-13T04:13:20.630 に答える