2011-12-12 80 views
3

我想这个代码:jQuery用户界面与Jeditable

<script type="text/javascript"> 
$(document).ready(function() { 
    $('.edit').editable('http://www.example.com/save.php', { 
     indicator : 'Saving...', 
     tooltip : 'Click to edit...', 
     submit : 'OK', 
     cancel : 'Cancel', 
    }); 

    $('#cv_cd > input').autocomplete({ 
     source: 'location.php', 
     minLength: 2 

    }); 
}); 
</script> 


<div class="edit" id="cv_cd">Type</div> 

此代码工作正常与<inputs />,但jeditable,当我键入的东西没有请求被罚下场。

搜索与萤火虫的代码后,jeditable还创建了一个input场,但显然这样的事情并没有工作$('#cv_cd > input').autocomplete({

任何想法?谢谢

回答

3

.autocomplete()不是,所以它只绑定到调用时存在的元素。

对于您的情况,您需要使用live,或者最好是delegate以适应input元素在用户点击它之前不会存在的事实。明知有自动完成的元素有ui-autocomplete-input类,你可以不喜欢以下,取代原来的.autocomplete()的:

$("#cv_cd").delegate(".ui-autocomplete-input", "focus", function (event) { 
    $(this).autocomplete({ 
     source: 'location.php', 
     minLength: 2 
    }); 
}); 
+0

完美,谢谢:) – anvd