如何根据jquery中单选按钮的值勾选页面加载上的复选框? //房间 $(文档).ready(函数(){ var tpropval=$('input[name=Typeofproperty]:checked').val() 如果(tpropval!=“绘图”| tpropval!=“工作室公寓”){ $('chkroomdetails').show(); } 否则{ $('chkroomdetails').hide(); } })
如何根据jquery中单选按钮的值勾选页面加载上的复选框? //房间 $(文档).ready(函数(){ var tpropval=$('input[name=Typeofproperty]:checked').val() 如果(tpropval!=“绘图”| tpropval!=“工作室公寓”){ $('chkroomdetails').show(); } 否则{ $('chkroomdetails').hide(); } }),jquery,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,Jquery,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,*房间详情: 1 BHK 2 BHK 3 BHK 4 BHK 5 BHK @Html.ValidationMessageFor(model=>model.Roomdetails) $(文档).ready(函数(){ var arr=$(“#hiddenroomdetails”).val().split(“,”); $('input[type=checkbox]')。每个(函数(){ if($.inArray($(this.val(),arr)>=0){ $(this.attr(“选中”,true
*房间详情:
1 BHK
2 BHK
3 BHK
4 BHK
5 BHK
@Html.ValidationMessageFor(model=>model.Roomdetails)
$(文档).ready(函数(){
var arr=$(“#hiddenroomdetails”).val().split(“,”);
$('input[type=checkbox]')。每个(函数(){
if($.inArray($(this.val(),arr)>=0){
$(this.attr(“选中”,true);
}
});
});
我有两个单选按钮:公寓和房子。名为“hiddenroomdetails”的属性是模型的属性,该属性包含房屋类型(如2BHK和3BHK)中房间的详细信息。在db中,它们以逗号分隔(“,”)存储。使用此jquery检索详细信息时,我没有在编辑页面上勾选复选框。而不是$(this).attr(“checked”,true)代码>使用$(this).prop(“选中”,true)代码>或使用$(this.attr(“已检查”、“已检查”)代码>
编辑后,完整的jquery代码应如下所示:
<div id="chkroomdetails" class="roomdetails">
<h5>* Room Details :</h5>
<input type="checkbox" class="roomdetails" name="Roomdetails" id="1bed" value="1BHK" />1 BHK
<input type="checkbox" class="roomdetails" name="Roomdetails" id="2bed" value="2BHK" />2 BHK
<input type="checkbox" class="roomdetails" name="Roomdetails" id="3bed" value="3BHK" />3 BHK
<input type="checkbox" class="roomdetails" name="Roomdetails" id="4bed" value="4BHK" />4 BHK
<input type="checkbox" class="roomdetails" name="Roomdetails" id="5bed" value="5BHK" />5 BHK
@Html.ValidationMessageFor(model => model.Roomdetails)
</div>
<script type="text/javascript">
$(document).ready(function () {
var arr = $("#hiddenroomdetails").val().split(", ");
$('input[type=checkbox]').each(function () {
if ($.inArray($(this).val(), arr) >= 0) {
$(this).attr("checked", true);
}
});
});
试试这个:
$(this.attr(“checked”、“checked”)编码>如果隐藏字段中的值为“2BHK,3BHK”,则采用这种方式。然后只显示2BHK。对于像“2BHK”这样具有单个值的值,没有勾号。没有更改bro。它仍然是一样的。只需尝试使用$.trim()删除空白,并查看更新的答案。。它会起作用。。只需仔细检查某处可能有问题else@Smokingmonkey...strange…只需使用浏览器控制台,并查看它是否位于$.inArray()的if语句中。。其他地方也有问题。只需检查大小写,因为javascript区分大小写,并使用$.trim()删除空格。@Smokingmonkey。。那么为什么不保存“3BHK,2BHK”,而是像“3BHK,2BHK”一样保存它。中间没有空格,脚本没有问题。也许可以检查@Model.Roomdetails
(区分大小写)的值。我使用检查了它,然后发现有其他东西干扰了您的脚本。您是否有上面未包含的其他代码?@StephenMuecke-检查更新的代码。它指示如果单选按钮条件仅匹配,则显示复选框。
<div id="chkroomdetails" class="roomdetails">
<h5>* Room Details :</h5>
<input type="checkbox" class="roomdetails" name="Roomdetails" id="1bed" value="1BHK" />1 BHK
<input type="checkbox" class="roomdetails" name="Roomdetails" id="2bed" value="2BHK" />2 BHK
<input type="checkbox" class="roomdetails" name="Roomdetails" id="3bed" value="3BHK" />3 BHK
<input type="checkbox" class="roomdetails" name="Roomdetails" id="4bed" value="4BHK" />4 BHK
<input type="checkbox" class="roomdetails" name="Roomdetails" id="5bed" value="5BHK" />5 BHK
@Html.ValidationMessageFor(model => model.Roomdetails)
</div>
<script type="text/javascript">
$(document).ready(function () {
var arr = $("#hiddenroomdetails").val().split(", ");
$('input[type=checkbox]').each(function () {
if ($.inArray($(this).val(), arr) >= 0) {
$(this).attr("checked", true);
}
});
});
$(document).ready(function () {
var tpropval = $('input[name=Typeofproperty]:checked').val()
if (tpropval != 'Plot' || tpropval != 'Studio Appartment') {
var arr = $("#hiddenroomdetails").val().split(", ");
$('input[type=checkbox]').each(function () {
if ($.inArray($(this).val(), arr) > -1) {
$(this).prop("checked", true);
}
});
$('#chkroomdetails').show();
}
else {
$('#chkroomdetails').hide();
}
});