2017-01-10 20 views
0

下記のコードの専門家の意見が必要ですが、私はjavascriptでよく分かりません。助けてください他のドロップダウンの選択でドロップダウンの値を変更

私は何が必要です、私は2ドロップダウンがあります。 1つはcatid1、2つ目はcatidです。 catidはデータベースからいくつかの値をロードし、catid1にはいくつかの手動エントリがありますが、ほとんど同じものであり、わずかです。しかし私が望むのは、 "abc"のようなリストからcatid1の値を選択し、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; 
    } 
}); 
+0

Javascriptを ''タグ内になければならない:

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

チェックアウト次のjQueryメソッドのようなjQueryのでは、その簡単に@RiggsFollyを – RiggsFolly

+0

に設定私はcatId1を選択すると自動的にcatIdがcatId1.waitingの同じ値を取得したいと思っているのですが、私はcatId1を手動で入力し、2番目はcatIdを読み込んでいます。あなたの親切な反応や提案は可能でしょうか? –

+0

コードフォーマット – Fruchtzwerg

答えて

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/

0

をはいあなたはjavascriptやjqueryのことでそれを行うことができます。

+0

あなたのおかげでありがとう私はあなたの与えられたコードを試してきましたが、私のend.iで働いていないのは、catId1の値をcatIdドロップダウンに効果がないものに変更しました。 –

+0

あなたのおかげでありがとう私はあなたの与えられたコードを試してきましたが、私のend.iで動作していないcatId1の値をcatIdドロップダウンには効果がありません。 –

+0

whatsはそのエラーを示しています –

関連する問題