2010-06-09 3 views
3

Je travaille sur un formulaire d'impression qui permettra à l'utilisateur Admin Changer la mise en page du formulaire d'impression donc je sélectionne JQuery Dragable pour le travail et son fonctionnement bien, mais leur est un problème lorsque Activer ou Désactiver le premier élément en HTML qui est dragable prendre le style Disable lorsque Dragable est désactivé l'autre élément reste là look original J'utilise IE 8. Je cours le code sur Fierfox et Chrome et le résultat était que tout l'élément change leur style pour désactiver le style. J'ai besoin du Elemnet pour y maintenir originale staylActiver Désactiver JQuery Drag-able

function EnableDragAndDrop(cBox) { 
    $("#divDoB").draggable({ disabled: cBox.checked }); 
    $("#divNationalNo").draggable({ disabled: cBox.checked }); 
    $("#divSex").draggable({ disabled: cBox.checked }); 
    $("#divPlaceOfBirth").draggable({ disabled: cBox.checked }); 
    $("#divIssueDate").draggable({ disabled: cBox.checked }); 
    $("#divMotherName").draggable({ disabled: cBox.checked }); 
    $("#divExpDate").draggable({ disabled: cBox.checked }); 
    $("#divAuthority").draggable({ disabled: cBox.checked }); 
    $("#divPassportHolderName").draggable({ disabled: cBox.checked }); 

} 
+0

Pourriez-vous reformater votre code? –

+0

Pourriez-vous me dire quand EnableDragAndDrop() est appelé? Sur un sujet différent, pourquoi avez-vous enveloppé chaque instruction jQuery dans son propre $ (funtion() {? –

Répondre

2

Au lieu d'utiliser les ID, si vous venez de donner ces mêmes <div> éléments d'une classe, comme class="draggable" vous pouvez faire ce beaucoup plus courte, comme ceci:

function EnableDragAndDrop(cBox) { 
    $(".draggable").draggable(cBox.checked ? "disable" : "enable"); 
} 
$(function() { 
    $(".draggable").draggable({ containment: '#divDragArea', scroll: false }); 
}); 

au lieu de {disable: boolean} vous avez juste besoin d'appeler le "enable" ou "disable" méthodes, cela fait, selon si la case est cochée ou non. Comme une note de côté, vous pouvez placer autant que vous voulez dans un seul emballage $(function() { });, vous ne avez pas besoin pour chaque déclaration :)

0

Merci pour tous je trouve la solution lorsque vous appelez $ (» #divDoB "). draggable ({disabled: true}); l'JQuery insérer une classe Css qui définira l'opacité to.35 et qui rendent le regard d'objet en mode Désactiver afin de garder la même apparence et est tombé à la fois le mode Activer et désactiver je viens de définir l'opacité élément 1
merci pour tout :)

Questions connexes