改变其他下拉选择的下拉值

时间:2017-01-10 10:59:02

标签: javascript php mysql

需要专家对下面提到的代码的意见,我对javascript不好。请帮忙

我需要的是,我有2次下降。一个是catid1,第二个是catid ...... catid从数据库加载一些值,catid1有一些手动输入,其中很少是相同的,很少是不同的。但我想要的是当我从列表中选择catid1值,例如" abc"那么catid值应该改为catid1" abc" 我已经尝试了一些不同的方法,但无法解决这个问题,任何人都可以建议这可能或不可能。

<div class="col-md-4">
    <div class="form-group">
        <label for="catId"><?php echo $categoryField; ?></label>
        <select class="form-control" name="catId1" id="catId1" onChange="qt();">
            <option> Select Base Query Type </option>
        </select>
        <span class="help-block"><?php echo $categoryHelp; ?></span>
    </div>
</div>
</div>

<div class="col-md-4">
    <div class="form-group">
    <label for="catId"><?php echo $categoryField; ?></label>
    <select class="form-control" name="catId" id="catId">
        <?php
        $tcat = "SELECT catId, catName FROM categories WHERE userId = ".$userId." AND isActive = 1  ";
        $rest = mysqli_query($mysqli, $tcat) or die('-2'.mysqli_error());
        ?>
        <option value="..."><?php echo $selectOption; ?></option>
        <?php while ($tcatrow = mysqli_fetch_assoc($rest)) { ?>
        <option value="<?php echo $tcatrow['catId']; ?>"><?php echo clean($tcatrow['catName']); ?></option>
        <?php } ?>
    </select>
    <span class="help-block"><?php echo $categoryHelp; ?></span>
    </div>
</div>
</div>

我尝试的示例代码如下所示,但在我的情况下它不起作用。

<select name="dropdown[]">
  <option value="1">Sony</option>
  <option value="2">Nintendo</option>
  <option value="3">Microsoft</option>
</select>

<select name="dropdown[]">
  <option value="1">Sony</option>
  <option value="2">Nintendo</option>
  <option value="3">Microsoft</option>
</select>

<select name="dropdown[]">
  <option value="1">Sony</option>
  <option value="2">Nintendo</option>
  <option value="3">Microsoft</option>
</select>

var selects = document.querySelectorAll('select[name="dropdown[]"]');

selects[0].addEventListener('change', function () {
    for (var i = 0; i < selects.length; i++) {
        selects[i].value = selects[0].value;
    }
});

2 个答案:

答案 0 :(得分:0)

您在第二个示例中忘记了脚本标记:

<select name="dropdown[]">
   <option value="1">Sony</option>
   <option value="2">Nintendo</option>
   <option value="3">Microsoft</option>
</select>

<select name="dropdown[]">
  <option value="1">Sony</option>
  <option value="2">Nintendo</option>
  <option value="3">Microsoft</option>
</select>

<select name="dropdown[]">
  <option value="1">Sony</option>
  <option value="2">Nintendo</option>
  <option value="3">Microsoft</option>
</select>

<script language="javascript">
    var selects = document.querySelectorAll('select[name="dropdown[]"]');
  selects[0].addEventListener('change', function () {
    for (var i = 0; i < selects.length; i++) {
      selects[i].value = selects[0].value;
    }
  });
</script>

jsfiddle:https://jsfiddle.net/ge127u8d/

答案 1 :(得分:0)

是的,你可以通过javascript或Jquery来实现。它在Jquery中更容易,如

function qt() {
  var catId1Val = $('#catId1 :selected').val();
  $("#catId> option").each(function() {
     if (this.value == catId1Val)
     $("#catId select").val(this.value);
  });
}

查看以下jQuery方法: