Jeg har allerede prøvd alle mulige måter, men jeg fikk det fortsatt ikke til å fungere. Jeg har et modalt vindu med en "avkrysningsboks" Jeg vil at når modalvinduet åpnes, skal "avkrysningsboksen" være basert på en databaseverdi. (Jeg har det allerede jobbet med andre skjemafelt.) Jeg begynte å prøve å få det sjekket, men det fungerte ikke.
Min html div:
<div id="fModal" class="modal" >
...
<div class="row-form">
<div class="span12">
<span class="top title">Estado</span>
<input type="checkbox" id="estado_cat" class="ibtn">
</div>
</div>
</div>
og jquery:
$("#estado_cat").prop( "checked", true );
Jeg prøvde også med attr
, og andre sett her i forumet, men ingen ser ut til å fungere.
Kan noen peke meg riktig vei?
EDIT: ok, jeg mangler virkelig noe her ... Jeg kan merke av / fjerne merket ved hjelp av kode hvis avkrysningsruten er på siden, men er den i modalvinduet, kan jeg ikke. Jeg har prøvd dusinvis av forskjellige måter ...
Jeg har en lenke som skal åpne modalvinduet: <a href='#' data-id='".$row['id_cat']."' class='editButton icon-pencil'>
og jquery til " lytte " klikk og utføre noen operasjoner som å fylle noen tekstbokser med data som kommer fra databasen. Alt fungerer som jeg vil, men problemet er at jeg ikke kan sette avkrysningsruten merket / ikke merket av ved hjelp av kode. hjelp vær så snill!
$(function() {
$(".editButton").click(function(){
var id = $(this).data('id');
$.ajax({
type: "POST",
url: "process.php",
dataType:"json",
data: { id: id, op: "edit" },
}).done(function( data ) {
//the next two lines work fine, i.e., it grabs the value from database and fills the textboxes
$("#nome_categoria").val( data['nome_categoria'] );
$("#descricao_categoria").val( data['descricao_categoria'] );
//then I tried to set the checkbox checked (because its unchecked by default) and it does not work
$("#estado_cat").prop("checked", true);
$('#fModal').modal('show');
});
evt.preventDefault();
return false;
});
});
Siden du er i et modalt vindu (enten det er dynamisk eller på siden), kan du bruke følgende kode for å oppnå målet ditt: (Jeg fikk det samme problemet på nettstedet mitt, og dette er hvordan jeg løste det)
HTML:
<div class="content-container" style="text-align: right;">
<input type="checkbox" id="QueryGroupCopyQueries">
<label for="QueryGroupCopyQueries">Create Copies</label>
</div>
CODE:
$.each(queriesToAddToGroup, function (index, query) {
if (query.groupAddType === queriesGroupAddType.COPY) {
// USE FIND against your dynamic window and PROP to set the value
// if you are using JQUERY 1.6 or higher.
$(kendoWindow).find("input#QueryGroupCopyQueries").prop("checked", true);
return;
}
I "kendoWindow" ovenfor er vinduet mitt (mitt er dynamisk, men jeg gjør også dette når jeg legger til et element direkte på siden). Jeg går gjennom en matrise med data ("queriesToAddToGroup") for å se om noen rader har et attributt av COPY. I så fall vil jeg slå på avmerkingsboksen i vinduet som angir dette attributtet når en bruker lagrer fra dette vinduet.
Prøv dette siden du bruker jQuery UI sannsynligvis (hvis ikke, vennligst kommenter)
$("#fModal" ).dialog({
open: function( event, ui ) {
if(//some hidden value check which stores the DB value==expected value for
checking the Checkbox)
$("div.row-form input[type='checkbox']").attr('checked','checked');
}
});