javascript - 如何在javascript函数onChange中传递两个参数

标签 javascript jquery html

我已经为两个下拉框编写了 html 代码。当我们更改第二个下拉列表 (onchange) 时,我想将这两个值作为参数传递给 javascript 函数。

这是我的代码:

function CatName(str1, str2) {

  if (str == "") {
    document.getElementById("album_name").innerHTML = "";
    return;
  } else {
    if (window.XMLHttpRequest) {
      // code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp = new XMLHttpRequest();
    } else {
      // code for IE6, IE5
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function() {
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        document.getElementById("album_name").innerHTML = xmlhttp.responseText;
      }
    };
    xmlhttp.open("GET", "update.php?q=" + str1 + "&q1=" + str2, true);
    xmlhttp.send();
  }
}
<div class="col-xs-6 col-sm-6 col-md-4 col-md-offset-1">
  <div class="form-group">
    <select class="form-control" name="category_name">
      <option value="" selected>Please Select</option>
      <option value="Birds">Birds</option>
      <option value="Notinlist">Category Not in list</option>
    </select>
  </div>
</div>
<div class="col-xs-6 col-sm-6 col-md-4 col-md-offset-1">
  <div class="form-group">
    <select class="form-control" name="album_name" onchange="CatName(this.value)">
      <option value="" selected>Please Select</option>
      <option value="Dove">Dove</option>
      <option value="Parrot">Parrot</option>
      <option value="Notinlist">Category Not in list</option>
    </select>
  </div>
</div>

最佳答案

在函数中传递参数和接收参数很复杂。更好的选择是编写一个函数并使用相应的 id 或选择器获取这些值。

示例代码

function getvalue() {
  var fval = document.getElementById('category_name').value;
  alert(fval);
  var sval = document.getElementById('album_name').value;
  alert(sval);
}
<body>
  <div class="col-xs-6 col-sm-6 col-md-4 col-md-offset-1">
    <div class="form-group">
      <select class="form-control" id="category_name">
        <option value="" selected>Please Select</option>
        <option value="Birds">Birds</option>
        <option value="Notinlist">Category Not in list</option>
      </select>
    </div>
  </div>
  <div class="col-xs-6 col-sm-6 col-md-4 col-md-offset-1">
    <div class="form-group">
      <select class="form-control" id="album_name" onchange="getvalue();">
        <option value="" selected>Please Select</option>
        <option value="Dove">Dove</option>
        <option value="Parrot">Parrot</option>
        <option value="Notinlist">Category Not in list</option>
      </select>
    </div>
  </div>
</body>

关于javascript - 如何在javascript函数onChange中传递两个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35666890/

相关文章:

javascript - 在一个 HTML 标签中调用多个函数

javascript - jquery/javascript 重新定义函数

javascript - Snap.svg:遮蔽路径中的图像会产生奇怪的不透明度和滤镜效果

javascript - 在 Angularjs 中针对特定领域使用 ng-repeat 的最佳方法

javascript - 动态加载Javascript

javascript - 如何在结果中突出显示搜索到的字符串?

jquery - 每当用户使用 fullpage js 滚动到另一个部分时更改颜色和动画

javascript - 无法在警告框中添加中断

javascript - 构建 Node.js 聊天

javascript - `.then` 和 `.catch` Promise 处理程序是否以某种方式配对并像 `.then(resolutionHandler, rejectionHandler)` 一样对待?