Potrzebuję twojej pomocy,

W jaki sposób poniższy kod może być modyfikowany taki, że po wybraniu daty, że przechowywa wybraną datę do (VAR Z), a następnie jego wartość może zostać wywołana później. Wydaje się, że nie dowiedziałem się, że powinno być proste i tuż nad oczami. Co ja robię źle?

<html>

<head>

<!-- LOAD JQUERY LIBRARY: -->  
    <link   href="jq/jquery-ui.css"         type="text/css" rel="stylesheet" />
    <script src="jq/jquery.min.js"          type="text/javascript"> </script>
    <script src="jq/jquery-ui.min.js"       type="text/javascript"> </script>

<script type="text/javascript">
var z

window.onload = function() {


                $('#dd').dialog({ 
                                    autoOpen:   true,
                                    modal:      true,
                                    overlay:    { opacity: 0.5, background: 'black'},
                                    title:      'Select the date:',
                                    height:     215, 
                                    width:      234,
                                    draggable:  false, 
                                    resizable:  false

                });//end of dialog_atip


$('#d1').datepicker({
            onSelect:function(){
                    z = $(this).val()
                    alert(z)
                    $("#dd").dialog("close")
            }

});




}//end of window.onload

function callback() { alert(z) }

</script>


</head>

<body>
<div style="display:none" id="dd">
<div id="d1">
</div>

</div>
<p><input onlick="callback()" type="submit" value="Submit" name="B1"></p>

</body>

</html>
1
Jason Kelly 29 sierpień 2012, 23:24

2 odpowiedzi

Najlepsza odpowiedź

Wydaje się, że dzieje się kilka rzeczy. OnClick został wysłany, a jak wskazano - brakowało średników. To powinno działać.

<script type="text/javascript">
var z;

$(document).ready(function() {
  $('#dd').dialog({ 
       autoOpen:   true,
       modal:      true,
       overlay:    { opacity: 0.5, background: 'black'},
       title:      'Select the date:',
       height:     215, 
       width:      234,
       draggable:  false, 
       resizable:  false

   });//end of dialog_atip


  $("#B1").click(function(){ 
        callback();
  });

  $('#d1').datepicker({
     onSelect:function(){
                    z = $(this).val();
                    alert(z);
                    $("#dd").dialog("close");
     }
  });

});//end of window.onload


function callback() { 
    alert(z);
}
</script>

Zmodyfikowałem również przycisk wprowadzania do:

<input type="button" value="Submit" name="B1" id="B1">

Możesz także bawić się ze skrzypką, tutaj: http://jsfiddle.net/je8tl/

0
jcern 29 sierpień 2012, 19:50

W Twoim kodzie jest zbyt wiele brakujących średników. Plus, pomimo umieszczania window.onload umieść kod w $(document).ready(function() { });.

Wprowadziłem pewne zmiany w swoim kodzie. Już działa.

Masz łup w to .

Myślę, że to dokładnie to, o co prosisz.

1
ygssoni 29 sierpień 2012, 19:49