Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 敲除ObservalArray未由继承的datepicker值填充_Javascript_Jquery Ui_Knockout.js_Datepicker_Momentjs - Fatal编程技术网

Javascript 敲除ObservalArray未由继承的datepicker值填充

Javascript 敲除ObservalArray未由继承的datepicker值填充,javascript,jquery-ui,knockout.js,datepicker,momentjs,Javascript,Jquery Ui,Knockout.js,Datepicker,Momentjs,我无法使用从日期选择器继承的值填充ObservalArray。我有一个禁用的文本框,显示日期选择器的值,作为数据收集部分的一部分。由于它被禁用且未被输入,因此它不会更新ObservalArray 我已经创建了一个新的解决方案,将问题剥离并本地化 任何帮助获得的价值出现在observableArray将是伟大的,因为我真的很难弄明白这一点 HTML <!--Date Load --> <span><b>Select a date:</b></s

我无法使用从日期选择器继承的值填充ObservalArray。我有一个禁用的文本框,显示日期选择器的值,作为数据收集部分的一部分。由于它被禁用且未被输入,因此它不会更新ObservalArray

我已经创建了一个新的解决方案,将问题剥离并本地化

任何帮助获得的价值出现在observableArray将是伟大的,因为我真的很难弄明白这一点

HTML

<!--Date Load -->
<span><b>Select a date:</b></span>
<span><input id="theDate" data-bind="datepicker: viewModelWardStaff.dateMonthYear, datepickerOptions: { dateFormat: 'dd/mm/yy' } "></span>

<!--Input Form -->
<span><h4>Input New Entries</h4></span>
<div style="border: solid 1px;" data-bind="with: viewModelWardStaff">
    <form class="grid-form" id="dataCollection">
        <fieldset>
            <div data-row-span="1">
                <div data-field-span="1">
                    <label>Date</label>
                    <input id="cDate" class="autosend" data-bind="textInput: dateMonthYear, enable: false">
                </div>
                <div data-field-span="1">
                    <label>Status</label>
                    <input id="cStatus" maxlength="200" class="autosend" data-bind="textInput: wardstaff.Status" type="text">
                </div>
            </div>
        </fieldset>
        <div style="margin: 5px;">
            <a style="margin-left: 300px;" id="addFileButton" class="button-link" data-bind="click: viewModelWardStaff.addEntry">Add</a>
        </div>
    </form>
</div>
<h4>View Model Ward Staff</h4>
    <div data-bind="with: viewModelWardStaff">
    <pre data-bind="text: ko.toJSON($data, null, 2)"></pre>
</div>

我认为问题在于您的可观察日期,
dateMonthYear
,存在于主视图模型中。
self.wardstaff
Date
属性从未设置

您可以通过将主视图模型中的可观察对象与
wardstaff
属性中的可观察对象共享来解决此问题:

function oWardStaff(obsDate) {
    var self = this;
    self.Date = obsDate;
    self.Status = ko.observable();
};

/* ... */

self.dateMonthYear = ko.observable();
self.wardstaff = new oWardStaff(self.dateMonthYear);
现在,无论何时选择新日期,它都会将其写入两个viewmodels引用的可观察对象

这句话突然变得有用了:

function WardStaff(data) {
    var self = this;
    self.Date = ko.observable(data.Date());      // <-- here
    self.Status = ko.observable(data.Status());
};
功能管理员(数据){
var self=这个;

self.Date=ko.observable(data.Date());//我对knockout.js了解不够,无法帮助您,请使用矩(
moment(value).isValid()检查矩对象是否有效,而不是
moment(value).format('DD/MM/yyyyy'))==“无效日期”
。谢谢。非常感谢,当你知道的时候,这是显而易见的!工作正常!
function WardStaff(data) {
    var self = this;
    self.Date = ko.observable(data.Date());      // <-- here
    self.Status = ko.observable(data.Status());
};