我现在有两个
<select id="sel1">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<select id="sel2">
<option value="">--请选择--</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>我想用jquery 当sel1被选择时 sel2相应的值也被选中,如果sel1中的值在sel2中没有,那么就显示 --请选择--
<select id="sel1">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<select id="sel2">
<option value="">--请选择--</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>我想用jquery 当sel1被选择时 sel2相应的值也被选中,如果sel1中的值在sel2中没有,那么就显示 --请选择--
$('#sel1').change( function() {
if ($('#sel2 option[value="' + $(this).val() + '"]').size() < 1) $('#sel2 option:eq(0)').attr('selected', 'selected');
else $('#sel2').val($(this).val());
});
});
<option value="0">--请选择--</option> 加个0 代码才好使
是这样的!我在选择sel1的时候 后台会提交ajax到后台去,然后后台返回一个数据和sel2的option进行匹配,如果有那么就匹配当前的option 如果不匹配那么sel2就显示--请选择--
这是我的js$("#sel1").change(function(){
var sel = $("#sel1").val();
$.get("testServlet?pam="+sel,null,function(data){
alert(data);
if ($("#sel2 option[value="'+data'"]").size() < 1){
$('#sel2 option:eq(0)').attr('selected', 'selected');
}
else{
$('#sel2').val($(this).val());
}
});
});
$("#sel1").change(function () {
var $currentVal = $(this).val();
$("#sel2 option").each(function (key, value) {
if ($(value).val() == $currentVal) {
$(value).attr("selected", "selected");
return false;
} else {
$("#sel2 option:eq(0)").attr("selected", "selected");
}
});
});
});
时间戳: Thu, 14 Jul 2011 13:06:04 UTC
消息: 例外被抛出且未被接住
行: 1642
字符: 5
代码: 0
URI: http://localhost:8080/testWeb/js/jquery/jquery-1.3.2.js
消息: 对象不支持此属性或方法
行: 25
字符: 2
代码: 0
URI: http://localhost:8080/testWeb/
另外 楼主说T5500代码报错 我觉得应该不是这个代码的错 是页面引的js有问题吧
var sel = $("#sel1").val();
$.get("testServlet?pam="+sel,null,function(data){
if ($('#sel2 option[value="' + data + '"]').size() < 1){
$('#sel2 option:eq(0)').attr('selected', 'selected');
}
else {
$('#sel2').val(data);
}
});会在if ($('#sel2 option[value="' + data + '"]').size() < 1){ 报网页错误详细信息用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2)
时间戳: Fri, 15 Jul 2011 01:01:28 UTC
消息: 对象不支持此属性或方法
行: 33
字符: 2
代码: 0
URI: http://127.0.0.1:8080/testWeb/
错误!MD
$("#sel1").change(function(){
$("#sel2").val($(this).val());
});
});
这样可以吧。
这一句改一下试试:
$.get('testServlet', { pam: sel }, function(data)