Hola
De nuevo por aquí.. Gracia por las ayudas, Necesito una guía, El problema que me surgio es el siguiente: Trabajo con mvc. .NET JavaScript jquery .
Tengo un campo donde creo un nuevo código y si existe me envía una imagen diciéndome "código ya existe" y bloquea el botón guardar....de lo contrario si no existe el código en mi base de datos me lo deja crear y guardar.Perfecto allí tengo la función con el campo que estoy llenando y trabaja perfecto,, el problema ahora es que estoy concatenando dos campos y un tercero donde llena automáticamente el código que se ingresa en los dos campos. ejemplo:
campo1 = 01
campo2 = 02
campo3= 0102 este campo es el que necesito consultar se llama CodigoCentroDeCosto
y en el campo dos es donde escribo y aparece automáticamente el código en el campo 3 concatenando campo 1 y 2 ... tengo entendido que el Keyup es un evento de teclado y el problema es que necesito que me verifique que el código completo del campo 3 no esta creado en la base de datos y pues como allí aparece automáticamente, el evento keyup no hace nada sobre este campo3 ya que no estoy escribiendo allí si no el en campo2.
aquí mi funtion la cual trabaja bien en el mismo campo que escribo. Por favor que me hace falta modificar para que me haga la consulta en el campo3
// Consulta la base de datos para indicar que ya existe un activo fijo con ese código
Código:
$("#CodigoCentroDeCosto").keyup(function (e) {
var consulta = $("#CodigoCentroDeCosto").val();
$("#com").delay(500).queue(function(n){
$("#com").html('<img src="/Images/ajax-loader.gif"/>');
$.ajax({
type: "POST",
url: "@Url.Action("existe","CentroDeCosto")",
data: "id="+consulta,
dataType: "html",
error: function(){
alert("error petición ajax");
},
success: function (data) {
console.log(typeof (data), data);
if (data=="true") {
$("#com").html("Ya existe este código.");
$('.guardar').attr("disabled", true);
} else {
$("#com").html("");
$('.guardar').attr("disabled", false);
}
n();
}
});
});
});
mi controlador
Código:
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string existe(string id)
{
db.Configuration.ProxyCreationEnabled = false;
var rows = (from p in db.GN_CentroDeCosto
where p.CodigoCentroDeCosto.Equals(id)
select p).ToArray().Count();
if (rows > 0)
{
var res = true;
JavaScriptSerializer js = new JavaScriptSerializer();
string org2 = js.Serialize(res);
return org2;
}
else
{
var res = false;
JavaScriptSerializer js = new JavaScriptSerializer();
string org2 = js.Serialize(res);
return org2;
}
}
el campo donde consulta y muestra imagen
Código HTML:
<div class="separadores">
<div class="flota">
<div class="editor-label">
@Html.LabelFor(model => model.CodigoCentroDeCosto)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.CodigoCentroDeCosto)
@Html.ValidationMessageFor(model => model.CodigoCentroDeCosto, "", new { @class = "validate" })
<div id="com"></div>
</div>
</div>