Twitter bootstrap Can';t在远程Twitter引导模式中使用淘汰

Twitter bootstrap Can';t在远程Twitter引导模式中使用淘汰,twitter-bootstrap,knockout.js,Twitter Bootstrap,Knockout.js,我正在使用twitter引导、mvc和淘汰赛。我有一个从远程url打开的模式,指向处理上传的页面 我是这样做的: <a class="btn btn-mini" data-toggle="modal" data-bind="attr: { href: modalHref }" data-target="#UploadModal" >Uploads</a> <div id="UploadModal" class="modal hide" style="displ

我正在使用twitter引导、mvc和淘汰赛。我有一个从远程url打开的模式,指向处理上传的页面

我是这样做的:

<a class="btn btn-mini" data-toggle="modal"  data-bind="attr: { href: modalHref }" data-target="#UploadModal" >Uploads</a>


<div id="UploadModal" class="modal hide" style="display: none; " aria-hidden="true">
<div class="modal-header">
    <button data-dismiss="modal" class="close" type="button">×</button>
    <h3>Upload</h3>
</div>
<div class="modal-body form-horizontal" style="padding:0;">
</div>
<div class="modal-footer">
    <a data-dismiss="modal" class="btn" href="#" data-bind="click: saveCount">Save</a>
</div>
</div>

×
上传
模态加载很好,里面的一切都很好。基本上我有一个fileuploader控件,用户可以在其中向我发布一个文件,我处理它,然后返回列标题来处理它们。以下是我在表单上的ajax函数:

function uploadSubmit() {
$.ajax({
    url: '/Upload/UserSaveFileInfo/',
    type: 'post',
    async: false,
    data: ko.toJSON({
        UploadName: $("#uploadName").val(),
        UploadDescription: $("#uploadDescription").val(),
        Id:  $('#uploadId').val()
    }),
    contentType: 'application/json',
    success: function (result) {
        $("#uploader").hide();
        for( var i = 0; i < result.length; i++)
        {
            viewModel.RetRows.push({
                Id: ko.observable(result[i].Id),
                Header: ko.observable(result[i].Header),
                MatchedTo: ko.observable(result[i].MatchedTo),
                Values: ko.observable(result[i].Values),
                ColumnNumber: ko.observable(result[i].ColumnNumber)
            });
        }
        $("#matcher").show();
    },
    error: function (jqXHR, textStatus, errorThrown) {
        console.log(data);
        alert(textStatus);
    }
});
函数uploadSubmit(){
$.ajax({
url:“/Upload/UserSaveFileInfo/”,
键入:“post”,
async:false,
数据:ko.toJSON({
UploadName:$(“#UploadName”).val(),
UploadDescription:$(“#UploadDescription”).val(),
Id:$('#uploadId').val()
}),
contentType:'应用程序/json',
成功:功能(结果){
$(“#上传程序”).hide();
对于(变量i=0;i
}

这一切都是可行的,但在我的远程加载模式中,我有一些代码,试图从返回的数据中呈现一系列文本框/跨度,但它不起作用。我试着只看模态中的其他ko变量,它们没有出现,所以模态似乎不知道敲除存在,或者敲除无法访问模态内容。。。有没有办法使远程模式和ko同步

<!-- ko foreach: RetRows -->
        <div class="control-group">
            <label class="control-label">
                Column <span data-bind="text: $data.ColumnNumber"></span>
            </label>
            <div class="controls">
                <input data-bind="value: $data.MatchedTo" />
                <span class="help-block" data-bind="text: $data.value"></span>
            </div>
        </div>
    <!-- /ko -->

纵队

我把这个放在家长页面上,所有的东西都显示出来了。因此,这似乎是模式中远程加载内容的问题。有没有办法解决这个问题?也许有一种方法可以通过bindingHandler附加远程内容?感谢任何人提供的见解。

您需要将绑定应用于该模式

ko.applyBindings(viewModel, document.getElementById("remote_modal"));

您需要将绑定应用于该模式

ko.applyBindings(viewModel, document.getElementById("remote_modal"));

好的,这样做之后:$('#UploadModal').ajaxComplete(函数(事件、请求、设置){ko.applyBindings(viewModel、document.getElementById(“myUploads”);});我有一些奇怪的行为。。我正在模式中打印一个变量,以确保我有权访问模型,但现在在这种情况发生后,该模型将从页面的其余部分取消应用。i、 e.我有消失的控制。。。。我好像做错了什么。我应该在何时/何地将模型重新应用到远程模式?是的,在同一区域中尝试
ko.applyBindings(viewModel)
。删除我之前建议的其他ApplyBinding。它仍然会这样做。。。但是,我创建了一个新的viewmodel并将其应用于div,它似乎工作正常:var modalModel={SessionId:viewmodel.SessionId(),RetCols:ko.observearray([])$('#UploadModal').ajaxComplete(函数(事件、请求、设置){ko.applyBindings(modalModel、document.getElementById(“zupload”);});好的,这样做之后:$('#UploadModal').ajaxComplete(函数(事件、请求、设置){ko.applyBindings(viewModel、document.getElementById(“myUploads”);});我有一些奇怪的行为。。我正在模式中打印一个变量,以确保我有权访问模型,但现在在这种情况发生后,该模型将从页面的其余部分取消应用。i、 e.我有消失的控制。。。。我好像做错了什么。我应该在何时/何地将模型重新应用到远程模式?是的,在同一区域中尝试
ko.applyBindings(viewModel)
。删除我之前建议的其他ApplyBinding。它仍然会这样做。。。但是,我创建了一个新的viewmodel并将其应用于div,它似乎工作正常:var modalModel={SessionId:viewmodel.SessionId(),RetCols:ko.observearray([])$('#UploadModal').ajaxComplete(函数(事件、请求、设置){ko.applyBindings(modalModel、document.getElementById(“zupload”);});