9
votes

Changer l'état de la case à cocher Programmatiquement dans Dashcode

D'accord, j'essaie donc de modifier l'état de la case à cocher Programmatique dans DashCode. J'ai essayé: xxx


2 commentaires

Vous pouvez utiliser Cochez la case.Checked = False mais n'utilisez pas Setattribute ("coché", "coché"), il peut sembler fonctionner, mais il échoue si vous avez cliqué sur la case à cocher manuellement, puis essayez de vérifier ou de décocher à l'aide de SETATTRIBUTE (' vérifié ', "coché") ou removeattribute ("coché")


Référez mon message récent pour cela, jorjs.com/setattribute-removeTtribute-checkbox


8 Réponses :


0
votes

Peut-être:

checkbox.checked = "unchecked";


1 commentaires

D'ACCORD. Je n'ai aucune expérience avec DashCode, mais cela ressemble à HTML. :) Espérons que quelqu'un de plus expérimenté sera en mesure de vous aider ici.



2
votes
checkbox.setAttribute("checked", "checked"); // set
checkBox.removeAttribute("checked"); // remove

1 commentaires

Merci d'avoir souligné la case à cocher.RemoVeAttribute ("cochée") ;. J'ai essayé caissebox.setattribute ("coché", false); ce qui, bien sûr, n'a pas fonctionné.



20
votes

Les widgets de tableau de bord viennent d'exécuter sur WebKit Technologies, le code valide pour Safari devrait également être valide dans DashCode. L'un des éléments suivants devrait fonctionner:

var checkbox = document.getElementById("checkbox");     


4 commentaires

Oui, j'ai pensé que cela pourrait être que, mais j'ai vérifié quadruple vérifié, l'identifiant est "Cochez la case" et le code est cochez la case = document.getelementByID ("case"); Je ne reçois aucune erreur sur le temps d'exécution. Je l'exécute dans un empilement, cela changerait quelque chose?


C'est la réponse, en particulier la première version (pas besoin d'aller des attributs nulle part). Si vous définissez la propriété cochée ne fonctionne pas, le défaut réside par ailleurs.


Je viens de courir un test, son paramétrage de la propriété cochée, mais elle ne met pas à jour la case à cocher. En outre, à travers des tests supplémentaires, il est initialement dit que la variable vérifiée est indéfinie.


Juste pour une personne confondue avec un comportement anormal de cela, Cochez la case.Checked = true; est plus fiable en général.



6
votes

Cette question est d'un mois comme j'écris cette réponse. C'était probablement déjà déjà résolu, mais je voudrais en tout cas ajouter que si vous utilisez DashCode, la partie Cochez la case est un DIV qui contient une étiquette et une entrée, celle-ci étant la case "vraie".

Si vous Inspectez le HTML tel qu'il est chargé dans Safari, vous remarquerez que la "case à cocher" est le type de l'élément.

Par conséquent, le moyen approprié de modifier l'état de la case à cocher serait, en supposant que "l'entrée" est sa ID (il pourrait avoir un numéro par défaut fixé): xxx

ou quelle que soit la méthode que vous souhaitez utiliser.

Le point principal ici est que vous étiez Essayer de changer l'état d'un autre div.

espère qu'il aide!


1 commentaires

C'est correct. L'OP essaie probablement de changer l'état de l'élément divisé parent en "vérifié".



1
votes

Je ne sais pas quel navigateur vous avez utilisé, mais quand j'ai testé le FF 3.6, cela fonctionne. Il suffit de mettre comme ceci: xxx

tandis que: xxx

ou écrire comme ça xxx < / p>


0 commentaires

1
votes

Cette question a été environ un moment. Quoi qu'il en soit, les œuvres suivantes pour nous:

Cochez la case.Childnodes [1] .Checked = true; Cochez la case.Childnodes [1] .checked = False;

Comme indiqué dans une réponse précédente, la manière dont DashCode crée ces commandes dont vous avez besoin pour passer au-delà de l'emballage DIV, qui a l'identifiant réel (Cochez la case dans cet exemple) et définir la propriété pour l'entrée, qui est un noeud enfant 1 .

À la recherche de «ID» réel de l'entrée serait problématique car vous n'avez aucun contrôle sur les identifiants attribués au nœud. Par exemple, si vous avez deux cases à cocher, le premier aurait "entrée" comme identifiant pour enfant nœud 1 et la seconde "INPUT1", sauf si, de la source que vous avez utilisée "entrée" ou "entrée1" comme id quelque part dans Votre design déjà!

Il pourrait y avoir une autre méthode mais je ne l'ai pas encore trouvée.


0 commentaires

0
votes
cell = row.insertCell(-1);
sel = document.createElement('input');
sel.setAttribute("type", "checkbox")
sel.setAttribute("name", "myCheckBox")
cell.appendChild(sel);
cell.getElementsByTagName('input')[0].checked = true;
I create a table, row then cell and create a checkbox within it.
I can the grab hold of the first input object and set the checked status to true.

0 commentaires

-5
votes
var checkbox = document.getElementById('#checkbox");

1 commentaires

Non, ça ne devrait pas. C'est Vanilla JavaScript.