我遇到过多次成功使用的脚本问题。我写了它并将其用于模态框中的AJAX表单。但突然间它返回undefined。我很无能为力。谢谢你的帮助。
(JQuery版本1.9.1)
$(document).ready(function (){
bind_bootstrap_modal_ajax_form('a[href*="prihlaseni"]', '#login-form');
});
function bind_bootstrap_modal_ajax_form(linkSelector, objSelector) {
$(linkSelector).each(function(){
var $linkObj = $(this);
var link = $(linkSelector).attr('href');
var objId = "modalFormContent" + Math.floor((Math.random()*10000)+1)
$.get(link)
.done(function(data) {
var $content = $(objSelector, data);
var appendHTML =
'<div> ...'+
$content.html() + // This returns undefined
'... </div>';
$('body').append(appendHTML);
var $obj = $('#'+objId);
$linkObj.attr({
'data-toggle': 'modal',
'href': '#'+objId
});
// ...
});
});
}
data
包含:
<!DOCTYPE html>
<html lang="cs" class="windows chrome chrome28 no-js">
<head>
<!-- ... -->
</head>
<body class="empty">
<div id="login-form">
<form action="?login" method="post" class="form-horizontal m0">
<fieldset>
<legend>Přihlášení</legend>
<div class="control-group">
<label class="control-label" for="inputEmail">E-mail</label>
<div class="controls">
<input type="text" name="login" id="login">
</div>
</div>
<div class="control-group">
<label class="control-label" for="inputPassword">Heslo</label>
<div class="controls">
<input type="password" name="pass" id="pass">
</div>
</div>
<div class="control-group">
<div class="controls">
<button type="submit" class="btn">Přihlásit</button>
</div>
</div>
</fieldset>
</form>
</div>
</body>
</html>
答案 0 :(得分:1)
jQuery constructor的第二个参数是你想在里面搜索第一个参数的DOM上下文。
// Looks for something matching 'objSelector' inside the DOM object 'data'
var $content = $(objSelector, data); // Will not work if data is a string
由于数据是字符串,您可以执行以下操作:
var $content = $(objSelector, $(data));
从数据中获取#login-form
div。