如何在javascript中使用函数内部的函数

时间:2014-04-28 06:12:11

标签: javascript

<table>
    <tbody id="add_weight" >
        <tr></tr>
    </tbody>
</table>
<a onClick="maira()" >+Add more Weights.</span></a>

这里我有一个锚标签..当用户点击锚标签时,我已经调用了一个函数..这就是

<script type="text/javascript">
var b=1;
function maira()
{
    if(b==10)
    {
        alert("can't Add more than 10 Weight Rates");
        return false;
    }

    var table=document.getElementById("add_weight")
    var row=table.insertRow(b);
    var cell1=row.insertCell(0);
    var cell2=row.insertCell(1);

    cell1.innerHTML="<input type='text' id='rate"+b+"' name='rate"+b+"' onkeyup='alert(hi)'/>";
    cell2.innerHTML="<input type='text' id='flat"+b+"' name='flat"+b+"' />";

    b=b+1;  
}
</script>

这里当用户点击一个新行时会添加两个字段,即rate和flat ....现在工作正常,问题是...我希望当用户在平面文本框中输入任何内容时它应该同时出现在率文本框...可能使用onkeyup甚至...任何人都可以帮我这个??

2 个答案:

答案 0 :(得分:0)

您可以使用类来附加事件处理程序或单独附加处理程序。 但是你必须使用data-属性来存储行的索引,以便处理程序可以知道索引和要复制文本的目标元素的“id”

答案 1 :(得分:0)

将事件处理程序附加到class/id。你可以使用任何libraries或以下的实用程序代码都可以正常工作。你是attaching事件的onkeyup元素。

function addEvent(element, evnt, funct){
  if (element.attachEvent)
   return element.attachEvent('on'+evnt, funct);
  else
   return element.addEventListener(evnt, funct, false);
}

// example
addEvent(
    document.getElementById('myElement'),
    'keyup',
    function () { alert('hi!'); } // update your other text field value.
);

这是适合您的fiddle

http://jsfiddle.net/bmArj/