0

jqueryを使用してボタンクリックイベントでCKeditorに存在するデータを検証しています。ボタンをクリックすると、正解と不正解のリストが分離されます。これはうまくいきます。しかし、間違った答えを修正してボタンを押すと、最初に入力された値が再び使用されます。2 回目のボタン クリックで変更されたデータを取得する方法。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="../ckeditor/ckeditor.js"></script>
<script src="../ckeditor/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
 $(document).ready(function () {

     CKEDITOR.replace('Field');

     var correctZips = new Array;
         var wrongZips = new Array;
     var CorZip;
     var WorZip;

     $('#save').click(function () {

        var editor_data = CKEDITOR.instances['Field'].getData();
        var element = $(editor_data).text().split(",");

            $.each((element), function (index, value) {
            if(this.length=5 && jQuery.isNumeric(this)) {
                    correctZips= correctZips+"<span>"+this+"</span>"+",";


                }else {
                    wrongZips= wrongZips+"<span id='flip' style=\"background-color: yellow; \">"+this+"</span>"+",";
                }
            }
            )   


            CKEDITOR.instances.Field.setData((correctZips + wrongZips), function (index, value){

            })
        //$("#save").attr("disabled", "disabled");       
     });         
 });

</script>
</head>
<body>
<textarea id="Field"></textarea>
<button id ="save">Verify the ZipCodes</button>
</body>
</html>

よろしく、スティーブン

4

1 に答える 1

0

ZIPSクリック ハンドラの外部で2 つの変数を配列として deinfing しています。クリックが発生するたびにそれらをリセットする必要があるため、ハンドラー内で定義する必要があり、文字列を連結するために使用しているため、配列として定義しないでください。

 $('#save').click(function () {
      var correctZips = '', wrongZips='';/* start with empty strings*/
      /* remainder of your handler code*/
 });
于 2012-10-30T12:29:34.913 に答える