Не удается получить jquery для установки значения выбора ввода, когда изменяется значение первого выбора - PullRequest
0 голосов
/ 30 сентября 2011

Я пытаюсь обновить значение выбранного входа, когда я изменяю значение другого выбранного входа. Я не могу заставить что-либо произойти на странице и хочу убедиться, что у меня нет синтаксической ошибки или какой-то другой глупости в этом коде.

<div class="group">
<div class="inputs types">
<strong style="font-size:13px;">Category:</strong>
   <select name="id" id="ctlJob">
<option value="1">Automotive</option>
<option value="2">Business 2 Business</option>
<option value="3">Computers</option>
<option value="4">Education</option>
<option value="5">Entertainment & The Arts</option>
<option value="6">Food & Dining</option>
<option value="7">Government & Community</option>
<option value="8">Health & Beauty</option>
<option value="9">Home & Garden</option>
<option value="10">Legal & Financial Services</option>
<option value="11">Professional Services</option>
<option value="12">Real Estate</option>
<option value="13">Recreation & Sports</option>
<option value="14">Retail Shopping</option>
<option value="15">Travel & Lodging</option>
  </select>
<select name="type" id="ctlPerson"></select>
</div>
</div>

<script>
$(function() {
    $("#ctlJob").change(function() {
        //Get the current value of the select
        var val = $(this).val();

 $('#ctlPerson').html('<option value="123">ascd</option>');
    });    
});
</script>

Ответы [ 3 ]

0 голосов
/ 30 сентября 2011

Я думаю, вам также нужно установить свойство selected.Добавьте

$('#ctlPerson option[value="123"]').attr('selected', 'selected');

в конец скрипта.В настоящее время вы добавляете опцию в список выбора, но не изменяете список выбора, чтобы отобразить ее.

0 голосов
/ 30 сентября 2011
<div id="test">
<select name="sel" id="sel">
    <option name="1" id="1" value="1">Automotive</option>
    <option name="2" id="1 value="2">Business 2 Business</option>
    <option name="3" id="1 value="3">Computers</option>
</select>
<select name="sel2" id="sel2"></select>
</div>

<script>
$("#sel").change(function() {
    var val = $(this).val();
    $('#sel2').html('<option value="1">NEW</option>');
)};
</script>

это прекрасно работает для того, что вам нужно сделать. это что-то вроде того, что у вас есть

0 голосов
/ 30 сентября 2011

Попробуйте использовать append вместо:

$(function() {
    $("#ctlJob").change(function() {
        //Get the current value of the select
        var val = $(this).val();
        var ctl = $('#ctlPerson').append('<option value="123">'+val+'</option>')[0].options;
        ctl.selectedIndex = ctl.length-1;
    });
});

http://jsfiddle.net/J69q8/

...