0

私は小さなプロジェクトを作成しています。基本的には Codeigniter で CRUD タイプのプロジェクトです。私は Messi Jquery Modal Library を使用しており、コントローラーを Messi.load ajax でロードしています。

問題。

// Edit Operator
$('.edit_details').on('click', function() {
var edit_id = $(this).attr('id');

$.getScript("<?php echo $this->config->base_url() ?>media/js/jquery-1.10.2.min.js");
Messi.load('<?php echo $this->config->base_url() ?>index.php/option/detail/' + edit_id);
$.getScript("<?php echo $this->config->base_url() ?>media/js/validation.js");
});

ajaxでモーダルボックスをロードすると、jqueryライブラリと、モーダルコンテンツ用のjquery関数もロードされます。たとえば、validation.jsです。

コントローラ

// check operator
public function detail($id)
{
    $this->load->model('Option_Model', 'option');

    $data['result'] = $this->option->checkOperator($id);
    $data['states'] = $this->option->getStates();

    $this->load->view('option', $data);
}

ajax の読み込みの問題を除いて、すべてが完全に機能します。私はプロジェクトをほぼ終了しましたが、突然、jqueryが正しく機能しないことがわかりました。

例えば:

Messi モーダル ボックスの 1 つをロードするときは、IP アドレスの検証が必要なビューをロードするため、$.getscript を使用して ip.address.js jquery プラグインもロードします。うまくいくこともあれば、うまくいかないこともあります。できることはすべて検索しましたが、問題の理由、なぜそれが機能するのか、機能しないのかを理解できませんでした。

また、これらのモーダルボックスには多くの ajax jquery 関数があり、正常に動作しますが、$.getscript からロードする関数には問題が発生することがあります。

編集済み: ここに私のモーダル ボックスの IP アドレス宣言があります。

var ipAddress = (function(){
    $('.ip').ipAddress();
});
ipAddress();

魔法 の最初の 2 回の試行は機能しませんでしたが、3 回目の試行は機能しました。

ここに画像の説明を入力

4

1 に答える 1