Hướng dẫn how to assign value to model in javascript - cách gán giá trị cho mô hình trong javascript

3

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi đang sử dụng một lịch và tôi cần chuyển giá trị từ nó vào mô hình của mình để được gửi lại cho bộ điều khiển nhưng tôi bị mắc kẹt.

Lượt xem

<div class="cell">
    @Html.LabelFor(model => model.ExpectedDatetimeStamp, new { @class = "control-label col-md-2" }):
    <div data-role="calendar" data-week-start="1" data-multi-select="false" id="c1" class="calendar"></div>
        <div hidden>@Html.EditorFor(model => model.ExpectedDatetimeStamp)</div>
    <div>
        @Html.ValidationMessageFor(model => model.ExpectedDatetimeStamp)
    </div>
</div>

<div>
    <input type="submit" value="Create" class="button primary" />
</div>

JS

function get_dates(){
    var result = $("#c1").calendar('getDates');
    alert(result);
}

Làm thế nào tôi có thể gán giá trị từ kết quả cho

function get_dates(){
    var result = $("#c1").calendar('getDates');
    alert(result);
}
4 khi người dùng nhấn nút gửi?

Hướng dẫn how to assign value to model in javascript - cách gán giá trị cho mô hình trong javascript

TIESON T.

Huy hiệu vàng 20,9k675 Huy hiệu bạc90 Huy hiệu đồng6 gold badges75 silver badges90 bronze badges

Khi được hỏi ngày 12 tháng 5 năm 2015 lúc 22:43May 12, 2015 at 22:43

2

Theo bình luận, mỗi mục trong mô hình của bạn được đặt tên phù hợp với tên của nó trong mô hình. Vì vậy, ví dụ, mục của bạn

function get_dates(){
    var result = $("#c1").calendar('getDates');
    alert(result);
}
5 sẽ có một yếu tố với tên đó.

Vì vậy, để đặt giá trị, chỉ cần sử dụng:

$('#ExpectedDatetimeStamp').val(result);

Và thực hiện! :)

Đã trả lời ngày 12 tháng 5 năm 2015 lúc 22:55May 12, 2015 at 22:55

Hướng dẫn how to assign value to model in javascript - cách gán giá trị cho mô hình trong javascript

Jane Sjane sJane S

1.41716 huy hiệu bạc21 Huy hiệu đồng16 silver badges21 bronze badges

Trình trợ giúp HTML bạn sử dụng sẽ gán đầu vào ID của

function get_dates(){
    var result = $("#c1").calendar('getDates');
    alert(result);
}
5. Chỉ cần nhắm mục tiêu nó trong hàm ngày nhận của bạn và đính kèm chức năng đó trong cuộc gọi lại của một sự kiện gửi trên biểu mẫu gần nhất với phần tử .Cell. Nếu bạn đang sử dụng measterJS, thì cuộc gọi đến lịch sẽ là
function get_dates(){
    var result = $("#c1").calendar('getDates');
    alert(result);
}
7. Hơn nữa, để gán một giá trị đúng cho đầu vào trái ngược với đối tượng khoảnh khắc, bạn có thể muốn sử dụng
function get_dates(){
    var result = $("#c1").calendar('getDates');
    alert(result);
}
8

function get_dates(){
 var result = $("#c1").calendar('getDate').format();
 $('#ExpectedDatetimeStamp').val(result)
}

$('.cell').closest('form').submit(function(){
 //..any other values that need to be populated
 get_dates();
});

Đã trả lời ngày 12 tháng 5 năm 2015 lúc 22:56May 12, 2015 at 22:56

Hướng dẫn how to assign value to model in javascript - cách gán giá trị cho mô hình trong javascript

Travis Jtravis jTravis J

79,9K40 Huy hiệu vàng201 Huy hiệu bạc267 Huy hiệu đồng40 gold badges201 silver badges267 bronze badges

Phương thức

function get_dates(){
    var result = $("#c1").calendar('getDates');
    alert(result);
}
9 sao chép tất cả các thuộc tính riêng từ một hoặc nhiều đối tượng nguồn sang đối tượng đích. Nó trả về đối tượng mục tiêu sửa đổi.
function get_dates(){
    var result = $("#c1").calendar('getDates');
    alert(result);
}
9
method copies all enumerable own properties from one or more source objects to a target object. It returns the modified target object.

Thử nó

Cú pháp

Object.assign(target, ...sources)

Thông số

$('#ExpectedDatetimeStamp').val(result);
0

Đối tượng đích - những gì để áp dụng các thuộc tính của các nguồn, được trả về sau khi nó được sửa đổi.

$('#ExpectedDatetimeStamp').val(result);
1

(Các) đối tượng - đối tượng có chứa các thuộc tính bạn muốn áp dụng.

Giá trị trả về

Đối tượng đích.

Sự mô tả

Các thuộc tính trong đối tượng đích bị ghi đè bởi các thuộc tính trong các nguồn nếu chúng có cùng một khóa. Các tài sản của nguồn sau này ghi đè lên những tài sản trước đó.

Phương thức

function get_dates(){
    var result = $("#c1").calendar('getDates');
    alert(result);
}
9 chỉ sao chép các thuộc tính có thể tìm thấy và riêng từ đối tượng nguồn sang đối tượng đích. Nó sử dụng
$('#ExpectedDatetimeStamp').val(result);
3 trên nguồn và
$('#ExpectedDatetimeStamp').val(result);
4 trên mục tiêu, vì vậy nó sẽ gọi các getters và setters. Do đó, nó gán các thuộc tính, so với sao chép hoặc xác định các thuộc tính mới. Điều này có thể làm cho nó không phù hợp để hợp nhất các thuộc tính mới thành một nguyên mẫu nếu các nguồn hợp nhất chứa getters.

Để sao chép các định nghĩa thuộc tính (bao gồm cả khả năng liệt kê của chúng) vào các nguyên mẫu, hãy sử dụng

$('#ExpectedDatetimeStamp').val(result);
5 và
$('#ExpectedDatetimeStamp').val(result);
6 thay thế.

Cả hai thuộc tính

$('#ExpectedDatetimeStamp').val(result);
7 và
$('#ExpectedDatetimeStamp').val(result);
8 đều được sao chép.

Trong trường hợp có lỗi, ví dụ, nếu một thuộc tính không thể chéo, một

$('#ExpectedDatetimeStamp').val(result);
9 sẽ được nâng lên và đối tượng
$('#ExpectedDatetimeStamp').val(result);
0 bị thay đổi nếu có bất kỳ thuộc tính nào được thêm vào trước khi lỗi được nêu ra.

Lưu ý:

function get_dates(){
    var result = $("#c1").calendar('getDates');
    alert(result);
}
9 không ném vào các nguồn
function get_dates(){
 var result = $("#c1").calendar('getDate').format();
 $('#ExpectedDatetimeStamp').val(result)
}

$('.cell').closest('form').submit(function(){
 //..any other values that need to be populated
 get_dates();
});
2 hoặc
function get_dates(){
 var result = $("#c1").calendar('getDate').format();
 $('#ExpectedDatetimeStamp').val(result)
}

$('.cell').closest('form').submit(function(){
 //..any other values that need to be populated
 get_dates();
});
3.
function get_dates(){
    var result = $("#c1").calendar('getDates');
    alert(result);
}
9 does not throw on
function get_dates(){
 var result = $("#c1").calendar('getDate').format();
 $('#ExpectedDatetimeStamp').val(result)
}

$('.cell').closest('form').submit(function(){
 //..any other values that need to be populated
 get_dates();
});
2 or
function get_dates(){
 var result = $("#c1").calendar('getDate').format();
 $('#ExpectedDatetimeStamp').val(result)
}

$('.cell').closest('form').submit(function(){
 //..any other values that need to be populated
 get_dates();
});
3 sources.

Ví dụ

Nhân bản một đối tượng

const obj = { a: 1 };
const copy = Object.assign({}, obj);
console.log(copy); // { a: 1 }

Cảnh báo cho bản sao sâu

Để nhân bản sâu, chúng ta cần sử dụng các lựa chọn thay thế, bởi vì

function get_dates(){
    var result = $("#c1").calendar('getDates');
    alert(result);
}
9 sao chép các giá trị thuộc tính.

Nếu giá trị nguồn là một tham chiếu đến một đối tượng, nó chỉ sao chép giá trị tham chiếu.

const obj1 = { a: 0, b: { c: 0 } };
const obj2 = Object.assign({}, obj1);
console.log(obj2); // { a: 0, b: { c: 0 } }

obj1.a = 1;
console.log(obj1); // { a: 1, b: { c: 0 } }
console.log(obj2); // { a: 0, b: { c: 0 } }

obj2.a = 2;
console.log(obj1); // { a: 1, b: { c: 0 } }
console.log(obj2); // { a: 2, b: { c: 0 } }

obj2.b.c = 3;
console.log(obj1); // { a: 1, b: { c: 3 } }
console.log(obj2); // { a: 2, b: { c: 3 } }

// Deep Clone
const obj3 = { a: 0, b: { c: 0 } };
const obj4 = JSON.parse(JSON.stringify(obj3));
obj3.a = 4;
obj3.b.c = 4;
console.log(obj4); // { a: 0, b: { c: 0 } }

Hợp nhất các đối tượng

const o1 = { a: 1 };
const o2 = { b: 2 };
const o3 = { c: 3 };

const obj = Object.assign(o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }
console.log(o1);  // { a: 1, b: 2, c: 3 }, target object itself is changed.

Hợp nhất các đối tượng có cùng thuộc tính

const o1 = { a: 1, b: 1, c: 1 };
const o2 = { b: 2, c: 2 };
const o3 = { c: 3 };

const obj = Object.assign({}, o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }

Các thuộc tính được ghi đè bởi các đối tượng khác có cùng thuộc tính sau này theo thứ tự tham số.

Sao chép các thuộc tính gõ biểu tượng

const o1 = { a: 1 };
const o2 = { [Symbol('foo')]: 2 };

const obj = Object.assign({}, o1, o2);
console.log(obj); // { a : 1, [Symbol("foo")]: 2 } (cf. bug 1207182 on Firefox)
Object.getOwnPropertySymbols(obj); // [Symbol(foo)]

Các thuộc tính trên chuỗi nguyên mẫu và các thuộc tính không thể kích hoạt không thể sao chép

function get_dates(){
    var result = $("#c1").calendar('getDates');
    alert(result);
}
0

Nguyên thủy sẽ được bọc vào các đối tượng

function get_dates(){
    var result = $("#c1").calendar('getDates');
    alert(result);
}
1

Các trường hợp ngoại lệ sẽ làm gián đoạn nhiệm vụ sao chép đang diễn ra

function get_dates(){
    var result = $("#c1").calendar('getDates');
    alert(result);
}
2

Sao chép người truy cập

function get_dates(){
    var result = $("#c1").calendar('getDates');
    alert(result);
}
3

Thông số kỹ thuật

Sự chỉ rõ
Đặc tả ngôn ngữ Ecmascript # sec-object.assign
# sec-object.assign

Tính tương thích của trình duyệt web

Bảng BCD chỉ tải trong trình duyệt

Xem thêm