无法使用javascript / jquery在下拉列表中动态设置值

时间:2015-10-21 07:22:33

标签: javascript jquery html

我有一个问题。我想使用javascript / Jquery通过onchange事件下拉设置值。我在下面解释我的代码。

<h1>drop down</h1>
<p>
    <select id="leaveCode" name="leaveCode" onChange="SetValue();">
        <option value="10">Annual Leave</option>
        <option value="11">Medical Leave</option>
        <option value="14">Long Service</option>
        <option value="17">Leave Without Pay</option>
    </select>
</p>
<p>
    <select id="leaveCode1" name="leaveCode">
        <option value="">select value</option>
        <option value="21">xyz</option>
        <option value="21">abc</option>
    </select>
</p>

function SetValue(){
  var value=document.getElementById('leaveCode').value;
  var name=document.getElementById('leaveCode').name;
  document.getElementById('leaveCode1').value=value;
  document.getElementById('leaveCode1').name=name;
}

这里我的要求是当用户从第一个下拉列表中选择任何值时,它也会在禁用模式的第二个下拉列表中显示。请帮助我。

4 个答案:

答案 0 :(得分:1)

您可以使用以下语句将附加并在leavecode1下拉列表中选择。在js文件中使用以下语句

   jQuery('#leaveCode').change(function(){
        //get selected text from #leaveCode list
        text = jQuery("#leaveCode option:selected").text();
        //get selected value for selected text
        value = jQuery("#leaveCode option:selected").val();
//append new in #leavecode1 and make this option as selected option.
        jQuery("#leaveCode1").append("<option value=" + value + " selected>" + text + "</option>");



    });

您可以使用以下链接(已更新) - http://jsfiddle.net/aecrcvt2/2/

进行检查

答案 1 :(得分:0)

最好的方法是在更改leaveCode下拉列表时在下拉列表中附加新值

dialog

答案 2 :(得分:0)

&#13;
&#13;
function SetValue(obj) {
  var $this = $(obj);
  var val = $this.val();
  var txt = $('option:selected', $this).text();
  $('#leaveCode1').append($('<option></option>').val(val).html(txt));
  $('#leaveCode1').val(val).prop('disabled', 'disabled');
}
SetValue('#leaveCode');
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h1>drop down</h1>
<p>
  <select id="leaveCode" name="leaveCode" onChange="SetValue(this);">
        <option value="10">Annual Leave</option>
        <option value="11">Medical Leave</option>
        <option value="14">Long Service</option>
        <option value="17">Leave Without Pay</option>
    </select>
</p>
<p>
  <select id="leaveCode1" name="leaveCode">
        <option value="">select value</option>
        <option value="21">xyz</option>
        <option value="21">abc</option>
    </select>
</p>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

我相信这是你需要的答案:

$("#leaveCode").change(function(){
    var selectedOptionValue = $(this).find(":selected").val();
    var selectedOptionText = $(this).find(":selected").text();
    var newOption = '<option value='+selectedOptionValue+' disabled>'+selectedOptionText+'</option>';
    $("#leaveCode1 option").last().after(newOption);
});

JSFIDDLE

相关问题