在输入类型复选框上使用 JQuery ReplaceWith
Using JQuery ReplaceWith on input type checkbox
我正在尝试将带有输入的 table 转换为 table 值。我创建了这个 javascript 函数,它适用于除带有类型复选框的输入之外的所有内容。
这是我当前的功能:
function PopulateHidden() {
$('#Units input').replaceWith(function () {
return this.value;
});
$('#Units select').replaceWith(function () {
return this.value;
});
var html = $("#Units").html();
$('#<%=UnitTableHtml.ClientID%>').val(html);
}
我已经尝试过此方法的各种版本:
$(".chk").replaceWith(function () {
alert(this.html());
if (this.prop('checked') == true) {
alert("YES");
return "Yes";
};
return "No";
});
但我一直将文本框的值设为 "on" 而不是 true/false。我希望该值为 Yes 或 No 但它没有进入 if 语句。为什么我无法将复选框的值作为布尔值获取?
这是我定义复选框的方式:
<input type="checkbox" class="chk" style="width:20px;height:20px;"/>
所有人都赞扬 Jasper,因为我用同样的建议构建了这个 fiddle:需要 $(this)
而不是 this
我正在尝试将带有输入的 table 转换为 table 值。我创建了这个 javascript 函数,它适用于除带有类型复选框的输入之外的所有内容。
这是我当前的功能:
function PopulateHidden() {
$('#Units input').replaceWith(function () {
return this.value;
});
$('#Units select').replaceWith(function () {
return this.value;
});
var html = $("#Units").html();
$('#<%=UnitTableHtml.ClientID%>').val(html);
}
我已经尝试过此方法的各种版本:
$(".chk").replaceWith(function () {
alert(this.html());
if (this.prop('checked') == true) {
alert("YES");
return "Yes";
};
return "No";
});
但我一直将文本框的值设为 "on" 而不是 true/false。我希望该值为 Yes 或 No 但它没有进入 if 语句。为什么我无法将复选框的值作为布尔值获取?
这是我定义复选框的方式:
<input type="checkbox" class="chk" style="width:20px;height:20px;"/>
所有人都赞扬 Jasper,因为我用同样的建议构建了这个 fiddle:需要 $(this)
而不是 this