在href参数中使用jQuery全局变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在href参数中使用jQuery全局变量相关的知识,希望对你有一定的参考价值。

我在使用jquery中的表单中的选定值时遇到问题。它与以下因素密切相关:

我已经尝试了几个小时使用上面的(和其他)示例来完成这项工作。

我有一个带有帐号的下拉列表:

    <form id="accounts">
        <select>
            <option value="">Select one</option>
            <c:forEach var="custAccount" items="${customerAccounts}">
                <option value=${customerAccount}>${customerAccount.accountId}</option>
            </c:forEach>
        </select>
    </form>

我想在href中使用所选帐户:

            <a href="Controller?&accountid='+selectedAccount+'&username=${username}&userid=${userid}&command=customerNewTransaction">Start new transfer</a>

这是我的脚本:

    <script type="text/javascript">
      $(document).ready(function() {
        var selectedAccount;
        $("#accounts").change(function() {
           selectedAccount = $(this).text();
        });
      });
    </script>

这不起作用,所选文本每次都为空。我也试过调用.val()以及相同(缺乏)的结果。

我错过了什么?

答案
<form id="accounts">
    <select id="account-select">
        <option value="">Select one</option>
        <c:forEach var="custAccount" items="${customerAccounts}">
            <option value=${customerAccount}>${customerAccount.accountId}</option>
        </c:forEach>
    </select>
    <div id="transfer-container">

    </div>
</form>

<script type="text/javascript">
  $(document).ready(function() {
      $("#account-select").change(function() {
          $('#transfer-container').html( '<a href="Controller?&accountid='+ $(this).val() +'">Start new transfer</a>' );
    });
  });
</script>
另一答案

您已在表单上添加了更改处理程序,而不是选择。你可能想要这样的东西:

<form id="accountForm">
  <select id="account">
    ..
  </select>
</form>

然后在你的jQuery脚本中:

$(document).ready(function () {
    $('#account').on('change', function (event) {
      $('#accountForm').append($(this).val());
    });        
});
另一答案

啊,我看到MackieeE打败了我,但只是提供了一个稍微不同的例子:

    <script type="text/javascript">
        function updateLink() {
            var selectedAccount = $('#account').val();
            var uri = 'Controller?&accountid='+selectedAccount+'&command=customerNewTransaction';

            $('#account-link').attr('href', uri);
        }
    </script>

    <form>
      <select id="account" onchange="updateLink();">
        <option value="0" selected disabled>Select one</option>
        <c:forEach var="custAccount" items="${customerAccounts}">
          <option value=${customerAccount}>${customerAccount.accountId}</option>
        </c:forEach>
      </select>
    </form>

    <a id="account-link" href="#">Start a new transfer</a>

以上是关于在href参数中使用jQuery全局变量的主要内容,如果未能解决你的问题,请参考以下文章

iOS学习之代码块(Block)

使用requireJS的shim参数 解决插件 jquery.ui 等插件问题

C#-WebForm-★内置对象简介★Request-获取请求对象Response相应请求对象Session全局变量(私有)Cookie全局变量(私有)Application全局公共变量Vi(代码片段

php中的全局变量引用

PHP 超级全局变量 $_SERVER 参数

jQuery应用 代码片段