【发布时间】:2009-07-28 09:12:43
【问题描述】:
我对下面的这个 jquery 代码有疑问。如果您可以提供帮助,请给我建议或代码
所以我有一个国家下拉列表、一个美国的州下拉列表和一个非美国用户的州输入字段。
当您从国家列表中选择 USA 时,它会隐藏 othstate 字段,当您选择除美国以外的任何国家时,它会隐藏 USA statelist 并显示输入字段
到目前为止一切顺利,现在问题出在此处,此代码适用于注册表单,但不适用于编辑用户位置。
当用户在访问编辑页面时已经将这些数据保存在 mysql/php 中时,它将无法正常工作。我在想的 1 个解决方案是拥有 2 个 javascript 函数并使用 PHP 根据所在国家/地区来解析正确的函数,如果他们有其他国家然后美国保存,它将处理该问题,它将加载选择英格兰的示例,但会显示美国状态而不是状态输入字段和副。
但仍有 1 个主要问题。如果你选择一个非美国国家,然后你会得到 othstate 输入框,然后你可以输入数据,现在假设我这样做并输入了一些数据,然后从国家列表中选择了美国,它会隐藏我输入的数据让我选择一个州。
问题出在 PHP 的后端,我检查文本输入是否为空或状态是否为空,这个缺陷将允许两者都保存数据。
我希望这是有道理的,我希望你的意见和帮助
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" ></script>
<script type="text/javascript">
$(document).ready(function() {
locationlist();
});
function locationlist() {
$('#othstate').hide();
$('#country').change( function() {
var val = $(this).val();
if (val == 223) {
$('#state').val('').show();
$('#othstate').hide();
}else {
$('#state').val('').hide();
$('#othstate').show();
}
});
}
</script>
<form method="post" name="form1">
<select style="background-color: #ffffa0" name="country" id="country">
<option>Select Country</option>
<option value="223" selected="selected">USA</option>
<option value="224">Canada</option>
<option value="225">England</option>
<option value="226">Ireland</option>
</select>
<div id="state">
<select style="background-color: #ffffa0" name="state" id="state">
<option>Select State</option>
<option value="1">Florida</option>
<option value="2">New York</option>
<option value="3" selected="selected">Georgia</option>
<option value="4">California</option>
</select>
</div>
<div id="othstate"><input type="text" name="othstate" id="othstate" value="" class="textBox"></div>
【问题讨论】:
标签: jquery