Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript knockoutjs-当输入集中时,将值放在其他位置_Javascript_Knockout.js - Fatal编程技术网

Javascript knockoutjs-当输入集中时,将值放在其他位置

Javascript knockoutjs-当输入集中时,将值放在其他位置,javascript,knockout.js,Javascript,Knockout.js,我浏览了KnockoutJS网站,没有找到任何描述如何做到这一点的内容。我有一个输入行的表格,所有的输入都是可忽略的。当焦点位于任何一行的第一列或第二列时,我需要在输入中获取该值并将其粘贴到页面上的不同位置。然后我还想抓住右边下一个输入中的值,并将其粘贴到页面上其他地方的上一个值旁边。两个复制的值将进入页面上的另一个表中 这是我的第一张表,其中包含所有的淘汰观察值: <tbody data-bind="foreach: items"> <tr&g

我浏览了KnockoutJS网站,没有找到任何描述如何做到这一点的内容。我有一个输入行的表格,所有的输入都是可忽略的。当焦点位于任何一行的第一列或第二列时,我需要在输入中获取该值并将其粘贴到页面上的不同位置。然后我还想抓住右边下一个输入中的值,并将其粘贴到页面上其他地方的上一个值旁边。两个复制的值将进入页面上的另一个表中

这是我的第一张表,其中包含所有的淘汰观察值:

<tbody data-bind="foreach: items">
                <tr>
                    <td><input type="text" data-bind="value: itemNo, insertPress: $index, deletePress: $index, hasFocus: invalidItemNum, selected: invalidItemNum, event: { blur: function(){ $parent.checkItemNo($data, $index); } }, attr: { name: 'sellerItems[' + $index() + '].itemNo', id: 'sellerItems_' + $index() + '__itemNo', tabindex: 4 + $index()}" class="form-control" /></td>
                    <td>
                        <input type="text" data-bind="value: qty, insertPress: $index, tabEnterPress: '#tallyEntry', deletePress: $index, event: { blur: function(){ $parent.calcTotal($data); } }, attr: { name: 'sellerItems[' + $index() + '].qty', id: 'sellerItems_' + $index() + '__qty', tabindex: 5 + $index() }" class="form-control" />
                        <input type="hidden" data-bind="value: locCode, attr: { name: 'sellerItems[' + $index() + '].locationCode', id: 'sellerItems_' + $index() + '__locationCode' }" />
                    </td>
                    <td><input type="text" data-bind="value: price, attr: { name: 'sellerItems[' + $index() + '].retail', id: 'sellerItems_' + $index() + '__retail' }" class="form-control" readonly="readonly" tabindex="-1" /></td>
                    <td>
                        <input type="text" data-bind="value: bro, attr: { name: 'sellerItems[' + $index() + '].brocCode', id: 'sellerItems_' + $index() + '__brocCode' }" class="form-control" readonly="readonly" tabindex="-1" />
                        <input type="hidden" data-bind="value: broID, attr: { name: 'sellerItems[' + $index() + '].brochureId', id: 'sellerItems_' + $index() + '__brochureId' }" />
                    </td>
                    <td><input type="text" data-bind="value: desc, attr: { name: 'sellerItems[' + $index() + '].itemDesc', id: 'sellerItems_' + $index() + '__itemDesc' }" class="form-control" readonly="readonly" tabindex="-1" /></td>
                    <td><input type="text" data-bind="value: total, attr: { name: 'sellerItems[' + $index() + '].total', id: 'sellerItems_' + $index() + '__total' }" class="form-control" readonly="readonly" tabindex="-1" /></td>
                    <td><input type="text" data-bind="value: seq, attr: { name: 'sellerItems[' + $index() + '].itemRow', id: 'sellerItems_' + $index() + '__itemRow' }" class="form-control" readonly="readonly" tabindex="-1" /></td>
                </tr>
            </tbody>

这是第二个表,当itemNo或qty接收焦点时,我希望将itemNo和qty复制到其中:

<table class="table table-bordered" id="easyGlanceTable">
  <thead>
    <tr><th width="50%">Item No.</th><th>Qty</th></tr>
  </thead>
  <tbody>
    <tr><td></td><td></td></tr>
  </tbody>
</table>

物料编号数量

您可以将
数据绑定=“hasFocus:inputSelected”
添加到您的输入中,然后添加

self.inputSelected.subscribe(function(newValue) {
    console.log("input value is " + self.inputValue());
});

您可以将
数据绑定=“hasFocus:inputSelected”
添加到您的输入中,然后添加

self.inputSelected.subscribe(function(newValue) {
    console.log("input value is " + self.inputValue());
});

对于视图模型,它将在每次
inputSelected
changes

时触发,您可以简单地将第二个表的单元格绑定到相同的可观察对象吗?@JasonSpake,这是我最初的想法。但它如何知道要获取哪个值,因为每一行都有一个项目编号和数量。你能简单地将第二个表的单元格绑定到相同的观察值吗?@JasonSpake,这是我最初的想法。但它如何知道要获取哪个值,因为每行都有一个项目编号和数量。我已经有了一个
hasFocus:invalidItemNum
。我可以像你建议的那样订阅吗?是的,从你的虚拟机中添加
invalidItemNum.subscribe()
,并定义将获取和填充值的函数我已经有了
hasFocus:invalidItemNum
。我可以像你建议的那样订阅吗?是的,从你的vm中添加
invalidItemNum.subscribe()
,并定义将获取和填充值的函数