2016-01-19 3 views
0

Я просто новичок в Kendo-UI. Посмотрел всю документацию, и я не могу получить ответ или пример для моей проблемы. Я пытаюсь связать таблицу mysql, чтобы сформировать kendo.observable и kendo.data.DataSource.Kendo-UI: привязка источника к форме MVMM

Мой Html:

<body> 
<div id="example"> 
<ul id="fieldlist"> 
<li><label for="fname">First Name:</label> <input id="fname" data-bind="value: patientname" class="k-textbox" /></li> 
</ul> 
</div> 
</body> 

Мои JS:

<script> 
fenotypSource = new kendo.data.DataSource({ 
    transport: { 
    read: {url: function(){return "data_json/fenotyp_read.php?idpacjenta=1"}} 
    } 
}); 
viewModel = kendo.observable({ 
    data: fenotypSource 
}); 
kendo.bind($("#example"), viewModel); 
fenotypSource.read(); 
</script> 

Моя JSON, что я получаю от fenotyp_read: {идентификатор: "1", idpatient: "1", patientname: " Smith "}

Я получаю сообщение об ошибке: TypeError: e.slice не является функцией Чем вы на всю вашу помощь.

ответ

0

Для этого вам необходим источник данных Kendo UI DataSource. Вы можете использовать одиночный ObservableObject для привязки определенного объекта к форме. Взгляните на образец, который я сделал для вас here.

<body> 

<script> 
$(document).ready(function(){ 

    // you can use simple ajax request to get remote data 
    // and bind result to observable viewModel 
    /* 
    $.ajax({ 
    method: "POST", 
    url: "data_json/fenotyp_read.php?idpacjenta=1", 
    }).done(function(data) { 
    var patient = new kendo.data.ObservableObject(data); 
    viewModel.set("patient", patient); 
    }); 
    */ 

    // this is local data to demonstrate ObservableObject 
    var data = new kendo.data.ObservableObject({ 
    id: "1", 
    idpatient: "1", 
    patientname: "Smith" 
    }); 

    var viewModel = kendo.observable({ 
    patient: data 
    }); 

    kendo.bind($("#example"), viewModel); 
}); 

<form id="example"> 
    <label>Id:</label><span data-bind="text: patient.idpatient"> </span> 
    <br/> 
    <label>Patient Name:</label><input class="k-textbox" type="text" data-bind="value: patient.patientname"/> 
    </form> 

</body> 
+0

спасибо за Youre ответить все работает прекрасно :) – kajot

+0

Рад слышать это! Пожалуйста, отметьте правильный ответ. –