我有两个复选框的问题,问题是我有两个类别 文塔和伦塔
因此,如果我检查Venta或Renta或两者都可以正常工作,但是如果我取消选中例如Renta,方法无法正常工作,那么我取消选中这两个类别并且代码工作正常,但我没有&# 39;了解为什么或我的问题在哪里
这是我的jquery代码:
$(".venta").change(function () {
if (this.checked) {
$(this).val('1');
Visualizar_Unidades(0,0,0);
}
else{
$(this).val('0');
Eliminar_Unidades();
}
});
$(".renta").change(function () {
if (this.checked) {
$(this).val('1');
Visualizar_Unidades(0,0,0);
}
else{
$(this).val('0');
Eliminar_Unidades();
}
});
功能Visualizar_Unidades:
function Visualizar_Unidades(dueño, m2, nueva)
{
var bandera=0;
var venta=$(".venta").val();
var renta=$(".renta").val();
if(parseFloat(venta)==1 && parseFloat(renta)==1 )
{
bandera=0;
alert(venta+renta);
}
else
{
if(parseFloat(venta)==1 && parseFloat(renta)==0 )
{
bandera=2;
}
else
{
if(parseFloat(venta)==0 && parseFloat(renta)==1 )
{
bandera=1;
}
}
}
var extra=$(".inmueble").val();
var min = $('#header_min').val().replace(/,/g, "");
var max = $('#header_max').val().replace(/,/g, "");
if (min == ""){
min = 0;
}
if (max ==""){
max=0;
}
if (extra==""){
extra=0;
}
$.get(/JSON/+bandera+"&"+min+"&"+max+"&"+0, function (data) {
$.each(data, function (i, item) {
if (item.tipo_venta==1){
icono = "{% static 'FrontEnd/images/punto_azul_sombreado.png' %}";
}
if (item.tipo_venta==2){
icono = "{% static 'FrontEnd/images/punto_rojo.png' %}";
}
markers_dataV.push({
lat: item.latitud,
lng: item.longitud,
draggable: true,
icon: icono,
click: function (e) {
map.setZoom(15);
map.setCenter(item.latitud, item.longitud);
var id = item.id_unidad;
var tipo = item.id_tipo_unidad.tipo_vista
//llama a la funcion para llenar con informacion el modal
InfoModal(id, tipo);
//verificar qie tipo de modal abrira
var modal_mostrar = '';
if (parseFloat(tipo) == 1 )
{
modal_mostrar = 'Modal';
}
else
{
modal_mostrar = 'Modal_casas';
}
$("#" + modal_mostrar).modal();
}
});
});
map.addMarkers(markers_dataV);
});
}
这是Eliminar_Unidades的功能:
function Eliminar_Unidades()
{
map.removeMarkers();
markers_dataV.length = 0;
}
答案 0 :(得分:0)
如果我理解正确,您会尝试根据选中的复选框在地图上显示某些标记。无论何时选中一个方框,它都会调用Visualizar_Unidades,它会添加标记。 根据我的看法,调用Eliminar_Unidades只会重置整个地图。尝试调用Visualizar_Unidades,或者在Eliminar_Unidades中调用它,如下所示:
function Eliminar_Unidades()
{
map.removeMarkers();
markers_dataV.length = 0;
Visualizar_Unidades(0,0,0);
}
答案 1 :(得分:0)
解决方案似乎只删除了必要的标记,而不是一次性删除所有标记:
function Eliminar_Unidades(objeto)//exemple '.venta_unitys'
{
map.removeMarkers(objeto);//remove all objects with some class
markers_dataV.length = 0;
}