Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTML表单中心下拉列表选择,其中selected=“selected”使用jQuery_Jquery_Html_Forms - Fatal编程技术网

HTML表单中心下拉列表选择,其中selected=“selected”使用jQuery

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

我有一个HTML表单,它有一个下拉列表

我希望列表位于选定内容的中心位置。该表单已硬编码,以便于遵循

    <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=$“主目录选择、次目录选择、三目录选择”;