Javascript 如何在HTML的select/option中选择所选选项?

Javascript 如何在HTML的select/option中选择所选选项?,javascript,jquery,html,Javascript,Jquery,Html,我需要显示两个具有相同选项的选择列表,有很多 我有index.html: <body> <select class="c_select1"></select> <select class="c_select2"></select> </body> 我想显示两个不同的值作为默认选择选项,因为我需要显示货币转换器 我尝试了两种不同的方式,但其中任何一种都很好,我只展示了其中一种方式的代码 <script type="

我需要显示两个具有相同选项的选择列表,有很多

我有index.html:

<body>

<select class="c_select1"></select>
<select class="c_select2"></select>

</body>
我想显示两个不同的值作为默认选择选项,因为我需要显示货币转换器

我尝试了两种不同的方式,但其中任何一种都很好,我只展示了其中一种方式的代码

<script type="text/javascript">
$(".c_select1").load("options.html");
$(".c_select1 option[value=ARS]").prop("selected", true);
</script>
我不知道为什么,但我认为jQuery的.load有问题

唯一有效的解决方案是2:

设置一个计时器并在此计时器之后执行第二条jQuery语句 使用2个不同的options.html文件,每个select标记使用一个文件,但我认为这并不聪明。 是否有更好的方法动态执行此操作?

尝试以下操作:

$(".c_select1").load("options.html", function(){
    $(".c_select1").val("ARS");
});
解释:

load jQuery方法需要一些时间来获取options.html的内容,即使只有几毫秒。浏览器在继续运行其余的javascript逻辑之前不会等待它。添加到.load方法调用中的函数{I]是一些javascript逻辑,在结果返回回调后运行。

尝试以下操作:

$(".c_select1").load("options.html", function(){
    $(".c_select1").val("ARS");
});
解释:

.load jQuery方法需要一些时间来获取options.html的内容,即使只有几毫秒。浏览器在继续运行其余的javascript逻辑之前不会等待它{我在.load方法调用中添加了一些javascript逻辑,这些逻辑在结果返回回调后运行。

使用回调:

$(".c_select1").load("options.html", function() {
    $(".c_select1").val("ARS");
});
$(".c_select2").load("options.html", function() {
    $(".c_select2").val("ARS");
});
使用回调:

$(".c_select1").load("options.html", function() {
    $(".c_select1").val("ARS");
});
$(".c_select2").load("options.html", function() {
    $(".c_select2").val("ARS");
});

实际上,有一个延迟加载方法,这就是为什么所选项不起作用的原因。就像@Joulss所说的,使用应该起作用的回调方法。您可以在这里看到

 $(function(){

      $(".c_select1").load("option.html", function() {
          $(".c_select1").val("AFN");
      });

      $(".c_select2").load("option.html", function() {
          $(".c_select2").val("ANG");
      });
  });

实际上,有一个延迟加载方法,这就是为什么所选项不起作用的原因。就像@Joulss所说的,使用应该起作用的回调方法。您可以在这里看到

 $(function(){

      $(".c_select1").load("option.html", function() {
          $(".c_select1").val("AFN");
      });

      $(".c_select2").load("option.html", function() {
          $(".c_select2").val("ANG");
      });
  });