我有一些checkboxes
。我正在从数据库中检索数据以填充复选框以确定要检查的数据,如果是其他人我需要在textbox
中写入值。
示例:categories="Coconuts,Apple,Orange"
。
所以我需要复选框Coconuts
&要检查的其他人,以及" Apple
,Orange
"在textbox
。
我在textbox
得到的结果是" Apple"只有,有人可以帮助我吗?
$.ajax({
type:"POST",
url:"EditFarmerData.php",
dataType: 'json',
data:{'EditFarmerID': EditFarmerID},
success: function (data) {
for (x in data.categories) {
switch(data.categories[x]) {
case'Cacao':
$("#EditFarmerForm input[type=checkbox][value=Cacao]").prop("checked",true);
break;
case'Coconuts':
$("#EditFarmerForm input[type=checkbox][value=Coconuts]").prop("checked",true);
break;
case'Bananas':
$("#EditFarmerForm input[type=checkbox][value=Bananas]").prop("checked",true);
break;
case'':
$('#EditFarmerForm input[type=checkbox]').prop('checked',false);
$("#Editotherproduct").val("") ;
break;
default:
$("#EditFarmerForm input[type=checkbox][value=Others]").prop("checked",true);
$("#Editotherproduct").val(data.categories[x]);
break;
}
}
}
});
答案 0 :(得分:3)
在default
情况下,当您将值设置为$("#Editotherproduct")
时,它将始终更新为最后一个。
要解决此问题,您应首先获取当前值:
var currentOtherProductValue = $("#Editotherproduct").val();
然后使用现有值添加[concate],您可以按照自己的方式进行,
这是简单的解决方案:
default:
$("#EditFarmerForm input[type=checkbox][value=Others]").prop("checked",true);
var currentOtherProductValue = $("#Editotherproduct").val()
$("#Editotherproduct").val(currentOtherProductValue+','+ data.categories[x]);
break;
答案 1 :(得分:1)
应该是这样的,简单的方法是在文本框中使用旧值的字符串连接+在文本框中追加新值
$.each(data.categories, function(key, value) {
switch(data.categories[x])
{
case'Cacao':
$("#EditFarmerForm input[type=checkbox][value=Cacao]").prop("checked",true);
break;
case'Coconuts':
$("#EditFarmerForm input[type=checkbox][value=Coconuts]").prop("checked",true);
break;
case'Bananas':
$("#EditFarmerForm input[type=checkbox][value=Bananas]").prop("checked",true);
break;
case'':
$('#EditFarmerForm input[type=checkbox]').prop('checked',false);
$("#Editotherproduct").val("") ;
break;
default:
$("#EditFarmerForm input[type=checkbox][value=Others]").prop("checked",true);
var temp = $("#Editotherproduct").val();
$("#Editotherproduct").val(temp+","+value);
break;
}
});