HTML表单中心下拉列表选择,其中selected=“selected”使用jQuery
我有一个HTML表单,它有一个下拉列表 我希望列表位于选定内容的中心位置。该表单已硬编码,以便于遵循HTML表单中心下拉列表选择,其中selected=“selected”使用jQuery,jquery,html,forms,Jquery,Html,Forms,我有一个HTML表单,它有一个下拉列表 我希望列表位于选定内容的中心位置。该表单已硬编码,以便于遵循 <select id="primary_cat_select" name="primary_cat" size="9" style="width: 400px;"> <option value="01">001</option> <option value="02">002</option> <optio
<select id="primary_cat_select" name="primary_cat" size="9" style="width: 400px;">
<option value="01">001</option>
<option value="02">002</option>
<option value="03">003</option>
<option value="04">004</option>
<option value="05">005</option>
<option value="06">006</option>
<option value="07">007</option>
<option value="08">008</option>
<option value="09">009</option>
<option value="10">010</option>
<option value="11 selected="selected"">011</option>
<option value="12">012</option>
<option value="13">013</option>
<option value="14">014</option>
<option value="15">015</option>
<option value="16">016</option>
<option value="17">017</option>
<option value="18">018</option>
<option value="19">019</option>
<option value="20">020</option>
<option value="21">021</option>
<option value="22">022</option>
<option value="23">023</option>
<option value="24">024</option>
</select>
我有一个jQuery代码,如下所示:
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script type="text/javascript" >
$(function(){
var form1 = $('#form1'),
form2 = $('#form2');
// $(document).ready(function() {
$(document).change(function(){
$(':input[name]', form2).val(function(){
return $(':input[name='+ this.name +']', form1).val();
});
});
});
</script>
我想修改上面的jQuery代码,以将选择集中在选项11(即011)中,在这种情况下,选择=selected
我想将所选内容居中,如中所示
我不知道该怎么做。您可以将脚本封装在函数中,并在页面加载时调用它。只需使用setTimeout确保在加载页面后触发它:
var start = $("#listF");
setTimeout(function(){
centerSelect(start);
},1);
$('#listF').on('change', function(){
centerSelect($(this));
});
function centerSelect(optionChosen){
strip = optionChosen[0];
var n = strip.getAttribute('size'),
i = strip.selectedIndex,
l = strip.length;
strip.selectedIndex = Math.min(l-1,i+n/2|0);
strip.selectedIndex = Math.max(0,i+1-n/2|0);
strip.selectedIndex = i;
}
更新
对于mulltiple select字段,您可以使用。每个函数循环遍历这些字段并运行该函数:
$("select").each(function(){
var start = this;
setTimeout(function(){
centerSelect(start);
},1);
});
那么,小提琴中的代码与您尝试执行的代码之间有什么区别呢?区别在于JSFIDLE中的代码没有SELECT=SELECT在我的例子中,我希望它集中在已经硬编码的地方SELECT=SELECT。谢谢你只想把选中的那个放在中间=选中?@jmore009是的,这就是我想要的。在我上面的例子中,代码编辑似乎很难工作。如何将上述代码用于多个选择列表。它适用于var start=$“主目录选择”,但不适用于var start=$“主目录选择、次目录选择、三目录选择”;