我正在从视图中获取数据,并使用JavaScript进行保存。
HTML:
<div>
@Html.LabelFor(model => parts.ReturnRequired)
@Html.RadioButtonFor(model => parts.ReturnRequired, true) Yes
@Html.RadioButtonFor(model => parts.ReturnRequired, false) No
</div>
这是我的JavaScript:
$(document).ready(function () {
$('#btPartHeaderSave').click(function () {
var status = $('#parts_Status').val();
var partsRequestOrderNum = $('#parts_PartsRequestOrderNum').val();
var custShipping = $('#parts.CustShipping').val();
var shipAddress1 = $('#parts_ShipAddress1').val();
var shipAddress2 = $('#parts_ShipAddress2').val();
var shipCounty = $('#parts_ShipCounty').val();
var postCode = $('#parts_ShipPostCode').val();
var deliveryType = $('#parts_DeliveryType').val();
var notes = $('#parts_Notes').val();
//var returnRequired = $('#ReturnRequired').val() == true;
$.ajax({
url: $(this).attr('data-url'),
//url: "/Parts/PartHeaderSave",
type: "POST",
data: JSON.stringify({
status: status,
partsRequestOrderNum: partsRequestOrderNum,
custShipping: custShipping,
shipAddress1: shipAddress1,
shipAddress2: shipAddress2,
shipCounty: shipCounty,
postCode: postCode,
deliveryType: deliveryType,
notes: notes,
returnRequired: returnRequired
}),
dataType: "json",
traditional: true,
contentType: "application/json; charset=utf-8",
success: function (data) {
alert("You have sucessfully saved the header");
alert(returnRequired);
// $('#alertSavePartOrderHeader1').addClass('in');
},
error: function () {
alert("An error has occured!!!");
}
});
});
});
我正在尝试获取的价值ReturnRequired
。
//var returnRequired = $('#ReturnRequired').val();
如何设置为在数据库中显示为1
或0
?我假设使用,.val()
将无法正常工作。
出于某种原因,如果我单击“是”,它会返回0
;如果我单击“否”,它仍然会返回0
,即使在html中我得到了true
/ false
。
的:checked
伪类选择器适用于复选框和单选按钮。这会将属性的boolean
值转换checked
为0
或1
:
var returnRequired = $('#ReturnRequired').is(':checked') ? 1 : 0;
您也可以使用double tilde解决方案,但是我认为潜在的小性能提升值得缺乏可读性。
另一种解决方案是使用Number
构造函数,或者对一元使用隐式转换+
。这些是等效的。
var returnRequired = new Number($('#ReturnRequired').is(':checked'));
var returnRequired = +$('#ReturnRequired').is(':checked');
你可以依靠这个解决方案,因为ECMAScript标准指定,即true
转化为1
与false
对0
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句