所以我面临一个非常烦人的问题。我最初有一个包含所有空字段的表单。现在,用户可以通过选择单选按钮来选择使用默认值集“是”'选项。
如果用户选择使用默认值集,那么我使用脚本使用默认值集填充所有表单字段。到目前为止,一切都很顺利。
问题是我的选择下拉菜单没有设置默认值。经过调试后,我发现它已经设置好了,但随后在JS的事件中触发了事件,这是用ajax响应中的数据集填充下拉列表。
如果用户未点击下拉列表并更改了某些内容,如何停止触发更改事件。
答案 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。