簡體   English   中英

如何在Jquery對話框中調用函數?

[英]How to call a function within a Jquery dialog box?

我一直試圖在一個jquery對話框中調用一個javascript函數,我已經成功了。 當我在對話框中通過將數據從列表框傳遞到調用數據庫的php頁面中來創建動態表單時,就會出現問題。 我正在嘗試首先在選擇第一個下拉列表中的值時禁用第二個下拉列表。 其次,我想驗證一個文本框以查看用戶名是否存在。

我已經創建了一個JSbin http://jsbin.com/etuhur/4/edit,但是我不確定如何復制PHP部分。 當前的JSbin正在針對第一個下拉列表禁用第二個下拉列表。 當表單由我傳入對話框的php頁面創建時,我無法復制此功能。

有沒有人有任何提示,指針或示例? 在過去的兩周里,我一直在努力使它正常工作,但無濟於事:(

編輯:我認為這與DOM有關系,無法識別由另一頁創建的PHP表單數據,有人知道我將如何向DOM注冊嗎?

使用on委托您的change事件

  $(document).on('change','select',function(){
   ....
  });

對話框窗口打開后,您能否嘗試加載表單函數

編輯我已經放置$(this).dialog('close'); 以上返回false

$( "#dialogbox" ).dialog({

        autoOpen: false,
        modal: true,
        width: 'auto',
        show: {
            effect: "blind",
            duration: 1000
        },
        hide: {
            effect: "explode",
            duration: 1000
        },

        buttons: {
            //This function handles passing in the form data generated by getdialogbox.php 
            'Submit' : function(){
                $.ajax({
                    type: "POST",
                    url: "include/insertToDB.php",
                    data: $("#htmlform").serialize(),

                    success: function(){
                        $("#htmlform").submit();
                    }
                });
                $(this).dialog('close');
                return false;


            }
        },
        open: function( event, ui ) {    
            var $inputs = $('select.titans');
            var $controller = $('select.controller');
            $('select').change(function(){
                if($controller.val() !== ''){
                    $inputs.prop('disabled', $(this).val() !== '');
                    $inputs.val('');
               }else            {
                    $inputs.prop('disabled',false); 
               }
           });
        }

    });

在選擇下拉列表中,您想添加一個onclick調用。 然后,您想使javascript中的所有內容成為您從onclick調用的函數。 更新的JSbin的答案是在這里: http ://jsbin.com/etuhur/13/edit

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM