Javascript 在引导中设置默认下拉值

Javascript 在引导中设置默认下拉值,javascript,jquery,twitter-bootstrap,shiny,Javascript,Jquery,Twitter Bootstrap,Shiny,我是JS新手,希望在加载页面时设置默认值。我的HTML: <!DOCTYPE html> <html> <head> <script src="js/jquery.min.js"></script> <script src="shared/shiny.js" type="text/javascript"></script> <script

我是JS新手,希望在加载页面时设置默认值。我的HTML:

 <!DOCTYPE html>
    <html>
      <head>
        <script src="js/jquery.min.js"></script>
        <script src="shared/shiny.js" type="text/javascript"></script>
        <script src="css/bootstrap-3.3.6-dist/js/bootstrap.min.js"></script>
        <link rel="stylesheet" href="css/bootstrap-3.3.6-dist/css/bootstrap.min.css">
        <script src="js/app.js" type="text/javascript"></script>
      </head>
      <body>
       <div class="dropdown" id="country_select">
        <button class="btn btn-default dropdown-toggle" type="button"
          data-toggle="dropdown">Country<span class="caret"></span></button>
            <ul class="dropdown-menu">
             <li><a href="#" country-code="C1">Country1</a></li>
             <li><a href="#" country-code="C2">Country2</a></li>
             <li><a href="#" country-code="C3">Country3</a></li>
            </ul>
       </div>
     </body>
上面的代码将下拉列表的所有选项设置为“Country1”。 我发现有人建议我把这个放在我的JS代码下面,但它并没有设置任何默认值

$('#country_select li a')[2].click();

有人能指出我如何解决这个问题吗?

您希望能够使用列表来解决这个问题,因为列表不是为下拉菜单创建的

试试这个:

<select>
<option>.....</option>
<option selected="selected">Select a language</option>
<option>.....</option>
<option>.....</option>
<option>.....</option>
</select>

.....
选择一种语言
.....
.....
.....

您希望能够通过列表来实现这一点,因为列表不是为下拉菜单创建的

试试这个:

<select>
<option>.....</option>
<option selected="selected">Select a language</option>
<option>.....</option>
<option>.....</option>
<option>.....</option>
</select>

.....
选择一种语言
.....
.....
.....

您确定您的代码放置正确吗

var main = function(){
    var $menu_items = $("#country_select li a");

    $menu_items.on("click", function () {
        Shiny.onInputChange('this_country', $(this).text());
    });
    $menu_items[0].click(); // 0 for Country1, 1 for Country2, etc
};
$(document).ready(main);

编辑:这里是一个示例。如果打开底部的控制台,您将看到默认值。

您确定代码放置正确吗

var main = function(){
    var $menu_items = $("#country_select li a");

    $menu_items.on("click", function () {
        Shiny.onInputChange('this_country', $(this).text());
    });
    $menu_items[0].click(); // 0 for Country1, 1 for Country2, etc
};
$(document).ready(main);

编辑:这里是一个示例。如果打开底部的控制台,您将看到默认值。

这可能是一个选项,但我特别感兴趣的是如何在使用上面使用的引导类时执行此操作。这样我就可以利用
选项中可能没有的其他引导功能。您可以使用该选项中的任何引导功能。它几乎像一个列表,但已经针对下拉列表进行了优化。考虑到此
选项,默认情况下,在选择按钮上设置了
selected=“defaultoption”
。问题是我必须单击一个选项来触发事件。我是否需要对js进行一些更改,以便在页面加载时自动触发选择默认值的事件?我正在使用
$(“#国家/地区选择”)。关于(“更改”,函数(){
这可能是一个选项,但我特别感兴趣的是如何在使用上面使用的引导类时实现它。这样我就可以利用其他引导功能,而这些功能在
选项中可能没有。您可以将任何引导功能与该选项一起使用。它几乎像一个列表,但已经针对r下拉列表。考虑到此
选项,将使用
selected=“defaultoption”设置选项
默认情况下在选择按钮上。问题是我必须单击一个选项来触发事件。我是否需要在js上进行一些更改,以便在页面加载时自动触发选择默认值的事件?我使用的是
$(“#国家/地区选择”)。在(“更改”,函数(){
我尝试过,但没有成功。为了调查这一点,我尝试发送
$menu\u items[1]。text()
到服务器并在UI上打印出来,但它似乎没有任何价值。你必须编辑你的问题并发布更多的代码。我提供了更多的代码。在中,patricular我在
中所做的。codepen.io上的演示可以工作,但当我在本地机器上放置相同的代码时,它无法按预期工作。例如,没有预先选择的值。可能是由于
中加载的某些函数造成的吗?您如何知道它不工作?控制台上是否有错误?如果它正在向服务器发送内容,开发人员工具的“网络”选项卡上会显示什么?要测试
$menuItems[1]。单击()
有效我在
$menuItems.on(“click”,function(){…}
中添加了一个警报作为
警报(“预选值!”);
。该警报在加载页面时出现一次。此外,我在UI上打印了预选值
$(this)。text()
在UI上打印此值。这证明了预选是有效的。因此,问题在于
shinny.onInputChange()
除非手动单击,否则不会向服务器发送任何内容。我想我应该发布一个新问题,用
shinny.onInputChange()解决此问题
既然我已经确认预选确实有效,我已经尝试过了,但没有成功。为了调查这一点,我尝试发送了
$menu\u items[1].text()
到服务器并在UI上打印出来,但它似乎没有任何价值。你必须编辑你的问题并发布更多的代码。我提供了更多的代码。在中,patricular我在
中所做的。codepen.io上的演示可以工作,但当我在本地机器上放置相同的代码时,它无法按预期工作。例如,没有预先选择的值。可能是由于
中加载的某些函数造成的吗?您如何知道它不工作?控制台上是否有错误?如果它正在向服务器发送内容,开发人员工具的“网络”选项卡上会显示什么?要测试
$menuItems[1]。单击()
有效我在
$menuItems.on(“click”,function(){…}
中添加了一个警报作为
警报(“预选值!”);
。该警报在加载页面时出现一次。此外,我在UI上打印了预选值
$(this)。text()
在UI上打印此值。这证明了预选是有效的。因此,问题在于
shinny.onInputChange()
除非手动单击,否则不会向服务器发送任何内容。我想我应该发布一个新问题,用
shinny.onInputChange()解决此问题
现在我已经确认预选确实有效