2016-07-25 8 views
-3

をすべて選択入力を設定しました(SELECT1で告知、オプション2が選択されている)jQueryのは、私はいくつかの選択を持っているページ上で選択入力のすべてをループしたいと、選択した値が、特定のオプションではない場合は、選択した</p> <p>にその値を設定したい特定の値に

<select name="select1"> 
    <option value="1">One</option> 
    <option value="2" selected>Two</option> 
    <option value="3">Three</option> 
    <option value="4">Four</option> 
    <option value="5">Five</option> 
</select> 

<select name="select2"> 
    <option value="1">One</option> 
    <option value="2">Two</option> 
    <option value="3">Three</option> 
    <option value="4">Four</option> 
    <option value="5">Five</option> 
</select> 

<select name="select3"> 
    <option value="1">One</option> 
    <option value="2">Two</option> 
    <option value="3">Three</option> 
    <option value="4">Four</option> 
    <option value="5">Five</option> 
</select> 

ここでの考え方は、彼らがそのオプションはまだ選択していないので、それを選択オプション2を持つように設定SELECT2とセレクト3チェックだときというチェックボックスを持っているだろうし、値に文字列を追加すると、更新されていることがわかります。たとえば、「更新済み」

私はそれらのようにループしていますが、すでに選択されていない場合に選択したプロパティをオプション2に設定して値に '-updated'を追加する方法を理解できません。

$('select').each(function() { 

    var selected = $(this).find(":selected"); 

    if (selected.val() != 2) { 
     // set option 2 as selected 
     // append '-updated' to value 

    } 

} 

フィドールhttps://jsfiddle.net/69zzr6xa/6/

+1

を変化させる他のドロップダウンのを変更するためのコードを追加しすでに設定されているかどうかコードは1行、つまり '$( 'select').val(2)'になります。 –

+0

これはあなたの[前の質問](* http://stackoverflow.com/questions/38565530/jquery-loop-through-selects-and-set-selected-option)とちょうど少し変わったようですね。この質問を削除し、より正確な詳細を使って以前のものを編集するのが最もよいでしょう。 –

+0

フォームアクションでは、入力をループし、各入力に対してWebサービス/データベース呼び出しを行います。私のページに何百もの入力がある可能性があるため、入力が変更された場合にのみ呼び出す必要があります。 – jdoe

答えて

0

var selected = 0; 
 
$('select').each(function(i) { 
 
    var obj = $(this); 
 
    if(i == 0) selected = $(this).find(":selected"); 
 
    
 
    if (obj.val() != 2) { 
 
     if (obj.val().indexOf('-updated') < 0) { 
 
     obj.val(selected.val()); 
 
     obj.find(":selected").text(selected.text()+" -updated"); 
 
     } 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
 
<select name="select1"> 
 
    <option value="1">One</option> 
 
    <option value="2" selected>Two</option> 
 
    <option value="3">Three</option> 
 
    <option value="4">Four</option> 
 
    <option value="5">Five</option> 
 
</select> 
 

 
<select name="select2"> 
 
    <option value="1">One</option> 
 
    <option value="2">Two</option> 
 
    <option value="3">Three</option> 
 
    <option value="4">Four</option> 
 
    <option value="5">Five</option> 
 
</select> 
 

 
<select name="select3"> 
 
    <option value="1">One</option> 
 
    <option value="2">Two</option> 
 
    <option value="3">Three</option> 
 
    <option value="4">Four</option> 
 
    <option value="5">Five</option> 
 
</select> 
 

 
<label>Set to two 
 
    <input type="checkbox" id="set_to_two" name="set_to_two"> 
 
</label>

0

以下の例を確認してください。 select要素

  • チェックを

    1. ループ値を設定しない場合、値はすでに、選択されている場合。

    もいずれかが

    理由だけにかかわらず、それの値を設定しない

    $(function() { 
     
        var setValue = "2"; 
     
    
     
        /* Initialize the select's to base value */ 
     
        $('select').each(function() { 
     
         $(this).val(setValue); 
     
        }); 
     
    
     
        /* Change the values of select's when anyone of the select changes */ 
     
        $('select').change(function() { 
     
        setValue = $(this).val(); 
     
    
     
        $('select').each(function() { 
     
         $(this).val(setValue); 
     
        }); 
     
        }); 
     
    
     
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
     
    <select name="select1"> 
     
        <option value="1">One</option> 
     
        <option value="2" selected>Two</option> 
     
        <option value="3">Three</option> 
     
        <option value="4">Four</option> 
     
        <option value="5">Five</option> 
     
    </select> 
     
    
     
    <select name="select2"> 
     
        <option value="1">One</option> 
     
        <option value="2">Two</option> 
     
        <option value="3">Three</option> 
     
        <option value="4">Four</option> 
     
        <option value="5">Five</option> 
     
    </select> 
     
    
     
    <select name="select3"> 
     
        <option value="1">One</option> 
     
        <option value="2">Two</option> 
     
        <option value="3">Three</option> 
     
        <option value="4">Four</option> 
     
        <option value="5">Five</option> 
     
    </select>

  • 関連する問題