我一直试图在jquery对话框中调用javascript函数,我已经成功了。当我通过将数据从列表框传递到调用数据库的php页面在对话框中创建动态表单时,会出现复杂问题。我试图首先,当选择第一个下拉列表中的值时禁用第二个下拉列表。其次,我想验证一个文本框,看看是否存在用户名。
我创建了一个JSbin http://jsbin.com/etuhur/4/edit,但我不确定如何复制PHP部分。当前的JSbin正在处理第一个下拉列表,禁用第二个下拉列表。当表单由我传递到对话框的php页面创建时,我无法复制此功能。
有没有人有任何提示,指示或示例?过去两周我一直试图让这个工作,但无济于事:(
编辑:我认为它与DOM有关,不能识别由另一个页面创建的PHP表单数据,有没有人知道如何让它注册到DOM?答案 0 :(得分:0)
使用change
on
个活动
$(document).on('change','select',function(){
....
});
答案 1 :(得分:0)
可以在对话框窗口打开后尝试加载表单功能
编辑我已放置$(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);
}
});
}
});
答案 2 :(得分:0)
在选择下拉列表中,您要添加一个onclick调用。然后,您希望将javascript中的所有内容都设置为您从onclick调用的函数。更新后的JSbin的答案就在这里:http://jsbin.com/etuhur/13/edit