Javascript 将值分配给可观察的淘汰?

Javascript 将值分配给可观察的淘汰?,javascript,jquery,html,knockout.js,Javascript,Jquery,Html,Knockout.js,我有一个页面,当页面从控制器通过VIEWDATA对象加载时,它会从DB填充其字段(下拉列表和文本框) 我使用KnockoutJS进行数据绑定,下面是场景 HTML&JS(下拉菜单) @if(过滤器!=null) { } self.RsnAdmAct=ko.observearray([]); self.selectedRsnAdmAct=ko.observable(); $.getJSON(“GetRAA”,null,函数(数据){ self.RsnAdmAct(数据); }); self.sel

我有一个页面,当页面从控制器通过VIEWDATA对象加载时,它会从DB填充其字段(下拉列表和文本框)

我使用KnockoutJS进行数据绑定,下面是场景

HTML&JS(下拉菜单)

@if(过滤器!=null)
{
}
self.RsnAdmAct=ko.observearray([]);
self.selectedRsnAdmAct=ko.observable();
$.getJSON(“GetRAA”,null,函数(数据){
self.RsnAdmAct(数据);
});
self.selectedRsnAdmAct=ko.observable();
self.setOptionRSN=函数(x){//管理操作的原因dd
自选择snadmact(x);
};
这会使用指定的值“X”更新下拉列表

但这并不为文本框赋值,如下所示

HTML&JS(文本框)

@if(@Filter!=null)
{
}
self.down=ko.observable();
self.setOptionDstream=函数(x){//下游编号
自下游(x);
};  

选项渲染后
应用于选项;文本输入没有选项。设置
下游
的值将设置文本框的值,因为这就是
绑定的工作方式。

选项后渲染
适用于选项;文本输入没有选项。设置
下游的值将设置文本框的值,因为这就是
绑定的工作方式。

我试图寻找一种合适的方法来实现这一点,但下面是它的工作方式,没有其他替代方法。我必须将将为texbox可观察值赋值的函数移动到下拉列表的“渲染后选项”属性中,如下所示

@if (Filter!= null)
{
<select  data-bind="options: RsnAdmAct, 
                    value: selectedRsnAdmAct, 
                    optionsCaption:'Choose...', 
                    optionsValue:'RsnAdminActionID', 
                    optionsText:'RsnAdminActionDescp',
                    optionsAfterRender: function()
                    {
                        setOptionRSN(@Filter.RsnForAdminAction);
                        setOptionDstream(@Filter.DownstreamNumber);
                    }">
 </select>
}
@if(过滤器!=null)
{
}

这是它对我唯一有效的方法。谢谢你的帖子和评论。我试图寻找一种合适的方法来做到这一点,但下面是它的工作方式,没有其他替代方法。我不得不将为texbox可观察值赋值的函数移动到下拉列表的“渲染后选项”属性中,如下所示

@if (Filter!= null)
{
<select  data-bind="options: RsnAdmAct, 
                    value: selectedRsnAdmAct, 
                    optionsCaption:'Choose...', 
                    optionsValue:'RsnAdminActionID', 
                    optionsText:'RsnAdminActionDescp',
                    optionsAfterRender: function()
                    {
                        setOptionRSN(@Filter.RsnForAdminAction);
                        setOptionDstream(@Filter.DownstreamNumber);
                    }">
 </select>
}
@if(过滤器!=null)
{
}

这是我唯一的工作方式。感谢您的帖子和评论

有没有任何方法可以缩进代码?很抱歉,我无法理解您询问的关于标识样式的问题,我无法在工具中找到任何选项来进行soIndentation不是“工具”中的“选项”问题。缩进是您手动执行的操作。有工具帮你做这件事很好,但这并不意味着没有工具你可以跳过它neat@Tomalak,我刚刚提交了一个建议的编辑@sss111,如果您将代码拉入升华文本或类似编辑器中,则可以格式化缩进以更好地处理堆栈溢出。在突出显示多行代码的同时使用
Shift+Tab
Tab
,会有所帮助。请记住,代码必须缩进“4个空格”才能显示为代码,并且长行应该被拆分为可读性更强、更小的行,这不会强制文本换行。代码缩进有什么方法吗?很抱歉,我无法理解,如果您询问标识样式,我在工具中找不到任何选项来执行SOINDENTION,那么这不是“工具”中的“选项”问题。缩进是您手动执行的操作。有工具帮你做这件事很好,但这并不意味着没有工具你可以跳过它neat@Tomalak,我刚刚提交了一个建议的编辑@sss111,如果您将代码拉入升华文本或类似编辑器中,则可以格式化缩进以更好地处理堆栈溢出。在突出显示多行代码的同时使用
Shift+Tab
Tab
,会有所帮助。请记住,代码必须缩进“4个空格”才能显示为代码,并且长行应该被拆分为可读性更强、更小的行,这不会强制文本换行。是否有一种方法可以从筛选器发送下游值,以便除使用选项Afterrender外,还可以如上所述分配它。我不知道如何使用
@FILTER
。你能做一些像self.down=ko.observable(@Filter.DownstreamNumber)这样的事情吗
?@Filter是控制器中的一个viewdata对象。我想坚持与上面相同的逻辑,因为用户可以选择在分配值后更改该值。有没有一种方法可以让我从过滤器发送下游值,以便我可以像上面一样分配它,而不是使用选项Afterrenderi不知道
@Filter
如何分配它被使用。你能做一些类似于
self.down=ko.observable(@Filter.DownstreamNumber)
的事情吗?@Filter是控制器中的一个viewdata对象,我想坚持与上面相同的逻辑,因为用户可以选择在赋值后更改值
@if (Filter!= null)
{
<select  data-bind="options: RsnAdmAct, 
                    value: selectedRsnAdmAct, 
                    optionsCaption:'Choose...', 
                    optionsValue:'RsnAdminActionID', 
                    optionsText:'RsnAdminActionDescp',
                    optionsAfterRender: function()
                    {
                        setOptionRSN(@Filter.RsnForAdminAction);
                        setOptionDstream(@Filter.DownstreamNumber);
                    }">
 </select>
}