获取Javascript中单选按钮的true或false
Get true or false for radio button in Javascript
我正在从视图中获取数据,并使用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
伪类选择器适用于复选框和单选按钮。这将把checked
属性的boolean
值转换为0
或1
:
var returnRequired = $('#ReturnRequired').is(':checked') ? 1 : 0;
您也可以使用双波浪号解决方案,但我认为潜在的小性能增益不值得缺乏可读性。
另一种解决方案是使用Number
构造函数,或者使用带有一元+
的隐式强制转换。这些是等效的。
var returnRequired = new Number($('#ReturnRequired').is(':checked'));
var returnRequired = +$('#ReturnRequired').is(':checked');
您可以依赖此解决方案,因为ECMAScript标准指定将true
转换为1
,将false
转换为0
。
var getter = $('#ReturnRequired').prop('checked');
var setter = $('#ReturnRequired').prop('checked',false);
试试这个:
var returnRequired = $('#ReturnRequired').is(':checked');
首先,检查单选按钮是否选中。从那时起,将布尔值转换为数字是非常直接的。
~~(true) //1
~~(false) //0
相关文章:
- JavaScript-切换“;全部检查”;复选框true/false
- true==false以某种方式计算为true
- Javascript似乎在说true ==false
- JavaScript onkeydown, return true,false
- 从异步函数返回true/false以用于同步if()
- 函数返回undefined而不是true/false
- 为什么true/true是1,true/false是无穷大,false/true是0,false/false是NaN
- 检查对象数组是否包含布尔值true/false
- 函数:根据字符串中是否存在子字符串返回 True/False
- 如何将 ng-show 与控制器中返回 true/false 的函数一起使用
- 在input.checked=true/false _without_ jQuery上触发一个事件
- jQuery javascript未正确返回true/false
- 如何从嵌套的jquery回调函数中返回true/false
- 如何在骨干模型属性中设置布尔值true/false
- 如何使用angular或javascript在基于true/false返回的html中显示值
- 基于true/false变量显示/隐藏进度条
- Node.js在返回true/false时停止函数
- 是否可以将true/false值传递给ajax函数
- 根据Webix中的复选框值编辑true/false
- Meteor:设置车把变量true/false