我想根据用户选择的国家/地区更改“电话”的输入掩码。我很确定我的问题在于没有 jQuery 代码以正确的语法更改元素 ID。
首先检查联系人是否已存档,如果找到则显示数据。当我找到具有国际电话号码的联系人时,该号码会根据需要显示。我们的大多数联系人来自美国,所以我选择该代码作为初始显示。当新联系人从美国以外的国家(或国际代码“1”)注册时,就会出现问题。然后掩蔽不会更改为 iphone。
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js">
</script>
<script src="jquery.js" type="text/javascript"></script>
<script type="text/javascript" src= "../js/jquery.maskedinput.js"></script>
<script>
function show()
{
var a = document.getElementById('country');
var a = a.value.split(",")[1];
document.getElementById("code").value= a+"+";
if(a!=1)
jQuery(this).prev("phone").attr("id", "iphone");
else
jQuery(this).prev("iphone").attr("id", "phone");
};
</script>
</head>
<body>
<p>Country:
<select id="country" name="country" onchange="show(this)">
<option value="United States,1" selected>United States</option><?php $code=1 ?>
<option value="Sweden,37">Sweden</option>
</p>
<p>Phone:
<?php echo '<input name="code" id="code" size="1" type ="text" disabled="disabled" value="'.$code.'+"/>';
if($code!=1)
{
echo '<input name="phone" id="iphone" type="text" value="'.$result1[phone].'"/>';
}
else
{
echo '<input name="phone" id="phone" type="text" value="'.$result1[phone].'"/>';
}
?>
</p>
<script>jQuery(function($)
{
$("#phone").mask("(999) 999-9999");
$("#iphone").mask("99 99 99 99? 99");
});
</script>
</body>
</html>