0

私はJQueryが初めてです。質問したいのは、オプションを選択する方法です。次に、最初のオプションのプロパティを持つ別のオプションが自動的に選択されます。

私は次のようなコードを与えました:

<select name="kendaraan">
    <option value="" selected>pilih kendaraan!</option>
    <option value="B 2011 DR" class="B2011DR">B 2011 DR</option>
    <option value="R 3333 OKI" class="R3333OKI">R 3333 OKI</option>
    <option value="k03">jazz</option>
    <option value="k04">innova</option>
</select>

<select name="driver">
    <option value="" selected>pilih kendaraan!</option>
    <option value="s02" car="B2011DR" style="display:none">jojon</option>
    <option value="s01" car="B2011DR" style="display:none">mamat</option>
    <option value="s04" car="R3333OKI" style="display:none">tukul</option>
    <option value="s03" car="R3333OKI" style="display:none">mamat</option>
    <option value="s07" car="k03" style="display:none">bejo</option>
    <option value="s05" car="k03" style="display:none">mamat</option>
    <option value="s06" car="k03" style="display:none">tukul</option>
    <option value="s08" car="k04" style="display:none">budi</option>
    <option value="s09" car="">komeng</option>
</select>

$('select[name=kendaraan]').change(function() {
    //hide all option
    $('select[name=driver] option').css('display','none');
    //display option only for matched driver
    var isCar = $('select[name=driver] option[car='+$(this).val()+']');
    isCar.css('display','block');
    //auto select first matched diriver
    $('select[name=driver]').val( $(isCar[0]).val() )
})

しかし、jqueryコードは「kendaraan」の値を取得するためのものですが、値ではなくクラスとどのように一致させるのでしょうか?

4

2 に答える 2

1

まさにあなたが望むものだと思います。次を試してください

 <script>
// make a function that will perform your desired task every time when dropdwon value changes.
// so call this function  in document.ready and also bind change event of dropdown to this function
$(function () {
    onDDLchange();
    $('select[name$=kendaraan]').change(function () {
        onDDLchange();
    });
});

function onDDLchange() {
    var j = 0;
    var v = $('select[name$=kendaraan]').val();
    $('select[name$=driver] option').hide();
    $('select[name$=driver] option').each(function (i) {
        if (v == $(this).attr('car')) {
            if (j == 0) {
                $(this).attr('selected', 'selected');
                j = j + 1;
            }
            $(this).show();
        }
    });
}
</script>
于 2012-12-15T05:02:16.487 に答える
0
    $(function() {  // document ready
$('option[value=""]').attr('selected', 'selected');
});

最初のオプションを自動的に選択するには

于 2012-12-15T04:46:05.110 に答える