Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.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 使用jquery设置文本字段的值_Javascript_Jquery - Fatal编程技术网

Javascript 使用jquery设置文本字段的值

Javascript 使用jquery设置文本字段的值,javascript,jquery,Javascript,Jquery,我正在尝试创建一个简单的html文件,其中包含员工的每月工资,并且必须计算每个工资的应付税款! 我使用一个“添加”按钮添加更多的employee textfield,它创建了一个包含类似div的新div类! 在salary textfield的onchange事件中,我无法设置相应员工的纳税值 不幸的是,我不能上传截图,所以我把所有的代码,使我的问题尽可能清楚 这是用于添加员工区域的jquery代码: $(document).ready(function(){ var counter = 2;

我正在尝试创建一个简单的html文件,其中包含员工的每月工资,并且必须计算每个工资的应付税款! 我使用一个“添加”按钮添加更多的employee textfield,它创建了一个包含类似div的新div类! 在salary textfield的onchange事件中,我无法设置相应员工的纳税值

不幸的是,我不能上传截图,所以我把所有的代码,使我的问题尽可能清楚

这是用于添加员工区域的jquery代码:

$(document).ready(function(){

var counter = 2;

$("#add_emp").click(function () {


var newTextBoxDiv = $(document.createElement('div'))
     .attr("class", 'em_area' + counter);

newTextBoxDiv.after().html('<br><label>Employee '+counter+' </label> <input id=em_name name=em_name type=text required  /> <label>Position</label> <input id=em_post name=em_post type=text required  /> <label>Monthly Salary</label> <input id=em_sal name=em_sal size=10 type=text required  /> &nbsp &nbsp &nbsp <label>Salary Tax</label> <input id=em_taxds type=text size=10 required />  ' );

newTextBoxDiv.appendTo("#all_emps");


counter++;
 });

 $("#del_emp").click(function () {


counter--;

    $(".em_area" + counter).remove();

 });
 });
$(文档).ready(函数(){
var计数器=2;
$(“添加emp”)。单击(函数(){
var newTextBoxDiv=$(document.createElement('div'))
.attr(“类”,“em_区域”+计数器);
newTextBoxDiv.after().html(“
员工”+柜台+”职位月薪工资税“); newTextBoxDiv.appendTo(“#all_emp”); 计数器++; }); $(“#del#emp”)。单击(函数(){ 计数器--; $(“.em_区域”+计数器).remove(); }); });
这是html代码:

<div id="all_emps">
    <div class="em_area">
        <label>Employee 1</label>
        <input type=text required  />
        <label>Position</label>
        <input type=text required  />
        <label>Monthly Salary</label>
        <input id=em_sal type=text required size=10 onchange="calculateTax(this.value);" />
        &nbsp &nbsp &nbsp 
        <label>Salary Tax</label>
        <input id=em_tax name=em_tax type=text required size=10 readonly />
        &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp
        <a href="#" id="add_emp"><img src="add.jpg" width="30" height="30"></img></a>
        &nbsp &nbsp &nbsp &nbsp &nbsp
        <a href="#" id="del_emp"><img src="minus.jpg" width="30" height="30"></a>
    </div>  
</div>

员工1
位置
月薪
 
薪俸税
    
   
这是我遇到问题的税务计算代码:(???????)

函数CalculateAX(sal)
{
内部工资=内部工资(sal);
如果(工资<5000)
{
document.getElementById(“em_税”)。值='0';
}
否则如果(工资>5000 | |工资=5000)
{
应交增值税;
应付税款=工资/100;
应付税款=工资-应付税款;
document.getElementById(“???”)。value=到期税款;
}
}

我观察到的第一件事是HTML中有重复的Id。。确保页面上的id是唯一的。。试着给他们起类名

<input class=em_sal type=text required size=10 onchange="calculateTax(this.value);" />
 &nbsp &nbsp &nbsp 
<label>Salary Tax</label>
<input class=em_tax name=em_tax type=text required size=10 readonly />

 
薪俸税
在JQuery中写入更改事件

$('#all_emps').on('change' , '.em_sal', function() { // Fire the change event

    var salary = parseInt(this.value);
    var dueTax = 0;
    if(salary < 5000){  
        // Do Nothing
    }
    else if(salary >= 5000)
    {
        due_tax= salary/100;
        due_tax= salary - due_tax;
    }
    // This will get the corresponding tax input for the employee..
    $(this).closest('div').find('.em_tax').val(due_tax) ;
});
$('#all_emps')。在('change','.em_sal',function(){//激发更改事件
var salary=parseInt(此.value);
增值税=0;
如果(工资<5000){
//无所事事
}
其他条件(工资>=5000)
{
应付税款=工资/100;
应付税款=工资-应付税款;
}
//这将为员工获得相应的税务输入。。
$(this).closest('div').find('em_tax').val(到期税);
});

我自己的回答再好不过了!似乎没有检测到任何更改事件Sushanth!它不起作用,什么也没发生过!从HTML中删除onchange事件。。用类名替换输入的id,然后tryI测试“if(salary<5000)”,输入一个小于5000的数字,如果它小于5000,则发出警报,但仍然没有显示警报!听起来我必须使用jquery 1.8.2才能在我的计算机上运行!谢谢你,苏珊特!第二个
if
-块是完全冗余的。如果
If(salary<5000)
为false,则自动
If(salary>5000 | salary=5000)
将始终为true。
$('#all_emps').on('change' , '.em_sal', function() { // Fire the change event

    var salary = parseInt(this.value);
    var dueTax = 0;
    if(salary < 5000){  
        // Do Nothing
    }
    else if(salary >= 5000)
    {
        due_tax= salary/100;
        due_tax= salary - due_tax;
    }
    // This will get the corresponding tax input for the employee..
    $(this).closest('div').find('.em_tax').val(due_tax) ;
});