自动填充数据被javascript

时间:2016-01-16 07:01:51

标签: javascript php jquery ajax

所以我面临一个非常烦人的问题。我最初有一个包含所有空字段的表单。现在,用户可以通过选择单选按钮来选择使用默认值集“是”'选项。

如果用户选择使用默认值集,那么我使用脚本使用默认值集填充所有表单字段。到目前为止,一切都很顺利。

问题是我的选择下拉菜单没有设置默认值。经过调试后,我发现它已经设置好了,但随后在JS的事件中触发了事件,这是用ajax响应中的数据集填充下拉列表。

如果用户未点击下拉列表并更改了某些内容,如何停止触发更改事件。

1 个答案:

答案 0 :(得分:1)

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>

<input type="radio" value="1" name="rdChoice"> Yes! Set Default Value
<input type="radio" value="0" name="rdChoice"> No! I have to fill data

<hr>

First Name : <input type="text" name="txtFirstName" id="txtFirstName"><br>
Last Name : <input type="text" name="txtLastName" id="txtLastName"><br>

Country : 
<select onchange="getState()" id="selCountry">
    <option>Choose</option>
    <option>India</option>
    <option>Japan</option>
    <option>US</option>
</select>

</body>
</html>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">

    function getState()
    {
        console.log("get state");   
    }

    $(function()
    {
        $( 'input[name="rdChoice"]:radio' ).change(
            function()
            {
                if(this.value==1)
                {
                    $("#txtFirstName").val("Paresh");
                    $("#txtLastName").val("Gami");
                    $("#selCountry").val("India");
                }
                else
                {

                }
            }
        );

    });

</script>

如果用户点击选择框,则只调用getState。