2

私の問題を解決してください。私の問題は、ADD、EDIT、および DELETE と共にアイテム情報を含むテーブルを作成したことです。たとえば、[追加] ボタンをクリックすると、他のページからの PHP フォームを含むダイアログがポップアップ表示されます。これには load() 関数を使用しました。フォーム内にはテキストボックスなどがあり、その下にはOKボタンとCANCELボタンがあります。しかし、キャンセルをクリックしてもダイアログボックスが閉じません。私は別のアプローチを試みましたが、どれもうまくいきません。

これがVIEWセクションの私のコードです(私はCodeigniterを使用しています)

 my button for add
 <input class="classname1"  type="button" value="ADD" name="add_item"/>
 .
 .
 .
 my div tag
 <div id="popup" style="display: none;"></div>
 .
 .
 .
 my jquery function

    /* FOR ADD PAGE */    

    $(".hero-unit input[name=add_item]").on('click',function(){
        $('#popup').load("<?php echo site_url("item_controller/addNewItem/"); ?>").dialog({
            title: "Add New Item",
            autoOpen: true,
            width: 450,
            modal:true,
            open: function (event, ui) { window.setTimeout(function () {
                jQuery(document).unbind('mousedown.dialog-overlay').unbind('mouseup.dialog-overlay'); }, 100);
            },
            //if i include the close function it doesn't closing

        });
    });

ボタンがクリックされた後の私のフォーム

<div>
  <?php $attr = array('class'=>'form-signin','id'=>'addForm'); ?>
  <?php echo form_open('item_controller/insertNewItem',$attr); ?>

    <h2 class="form-signin-heading"></h2>
        <h5 style="font-weight: normal;">Category Name</h5>
        <?php
            echo "<select name='categoryname' required='required'  autofocus='autofocus' >";
                echo "<option value=''>----------</option>";
                    foreach($category as $row){
                        echo "<option value='{$row['salescatname']}'>{$row['salescatname']}</option>";
                    }
            echo "</select>";
        ?>

        <h5 style="font-weight: normal;">Brand</h5>
        <input type="text" class="input-block-level" placeholder="Item Brand" required="required" name="brand" value="<?php echo set_value('description'); ?>" />
            <label style="color: red;"><?php echo form_error('brand'); ?></label>   


        <h5 style="font-weight: normal;">Name</h5>
        <input type="text" class="input-block-level" placeholder="Item Name" required="required" name="name" value="<?php echo set_value('description'); ?>" />
            <label style="color: red;"><?php echo form_error('name'); ?></label>

        <h5 style="font-weight: normal;">Description</h5>
        <input type="text" class="input-block-level" placeholder="Description" required="required" name="description" value="<?php echo set_value('description'); ?>" />
            <label style="color: red;"><?php echo form_error('description'); ?></label>

        <h5 style="font-weight: normal;">Unit</h5>
        <input type="text" class="input-block-level" size="10" placeholder="Item Unit" required="required" name="unit" value="<?php echo set_value('description'); ?>" />
            <label style="color: red;"><?php echo form_error('unit'); ?></label>


        <h5 style="font-weight: normal;">Code:</h5>
        <input type="text" class="input-block-level" placeholder="Item Code" required="required" name="code" value="<?php echo set_value('name'); ?>"/>
            <label style="color: red;"><?php echo form_error('code'); ?></label>

        <br />
        <div align="right">
            <input type="submit" value="OK" class="btn btn-large btn-primary" />
            <input type="button" value="CANCEL" class="btn btn-large btn-primary" name='cancel' />//HERE'S THE BUTTON CANCEL. WHAT SHOULD I DO TO CLOSE THIS DIALOG?

        </div>
  <?php echo form_close(); ?>

あなたが私を助けてくれることを願っています。ありがとう。

4

1 に答える 1

2

jQuery ダイアログには、組み込みのボタンを提供するメカニズムがあります。php ファイルに手動で追加する必要はありません。ボタンプロパティをダイアログに追加するだけです。

    buttons: {
        Ok: function() {
          // submit your form here
          $( this ).dialog( "close" );
        },
        Cancel: function() {
          // close handler
          $( this ).dialog( "close" );
        }
      }

「閉じる」機能が機能するフィドルの例を次に示します。http://jsfiddle.net/ccamarat/E6ej9/5/

于 2013-07-17T02:28:27.373 に答える