【问题标题】:Select dropdown value by textarea with jQuery使用 jQuery 通过 textarea 选择下拉值
【发布时间】:2017-06-23 09:36:19
【问题描述】:

我有 textarea (x1_typdv),我想要这个: 如果我将“3”写入文本区域,请在下拉列表(x1_typdv2)中选择值为“3”的选项。我有这个代码,但它不起作用,怎么办?谢谢。

$('#x1_typdv').change(function() {
      $('#x1_typdv2').val($('#x1_typdv').val());
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="x1_typdv" value="" name="x1_typdv">


<select name="x1_typdv2" id="x1_typdv2">
				<option value="1">1</option>
				<option value="2">2</option>
				<option value="3">3</option>
				<option value="4">4</option>
				<option value="5">5</option>
				<option value="6">6</option>
			</select>

编辑:我又试了一次,如果我只使用 normaln textarea 它对我有用。但我想将它用于由javascript(其计算表单)填充的textarea,在这里它不起作用。如何获得与 Teaxtarea 中相同的值以进行下拉?谢谢。

$x1_typdv   	= parseFloat($('#x1_field_skrinka option:selected').attr('data-typdv')),
$x1_fieldTypdv.val($x1_typdv);
$x1_fieldTypdv = $('#x1_typdv'); 

【问题讨论】:

  • 实际上,它确实有效,模糊。
  • 您的代码运行良好:jsfiddle.net/dam1tLvr。检查控制台是否有错误,并确保您已在页面中正确包含 jQuery。另请注意,您必须在 input 上造成模糊,才能触发 change 事件
  • 使用on input事件
  • 请检查我的答案。是浏览器问题

标签: javascript jquery html textarea dropdown


【解决方案1】:

您好,请检查下面的答案。

   $('#x1_typdv').keyup(function(e) { 
  if($('#x1_typdv').val()!="" && $("#x1_typdv2 option[value='"+$('#x1_typdv').val()+"']").length > 0)
        $('#x1_typdv2').val($('#x1_typdv').val());
     else if($('#x1_typdv').val()!="" && e.which != 8)
        alert("Value doesnot exists.");
 });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="x1_typdv" value="" name="x1_typdv">


<select name="x1_typdv2" id="x1_typdv2">
				<option value="1">1</option>
				<option value="2">2</option>
				<option value="3">3</option>
				<option value="4">4</option>
				<option value="5">5</option>
				<option value="6">6</option>
			</select>

【讨论】:

    【解决方案2】:

    尝试使用以下代码 使用Javascript:

    document.getElementById("x1_typdv2").value = document.document.getElementById("x1_typdv").value;
    

    使用 jQuery

    $('#x1_typdv2 option[value=' + $('#x1_typdv').val() + ']').attr('selected','selected');
    

    【讨论】:

      【解决方案3】:

      您必须在页面中添加 jquery 并尝试以下代码:

      $('#x1_typdv').on('change', function() {
        $('#x1_typdv2').val($('#x1_typdv').val());
      });
      

      【讨论】:

        【解决方案4】:

        我注意到一些浏览器直到 blur

        才捕捉到 change
        $(document).ready(function(){
              $('#x1_typdv').on("keyup", function() {
                   $('#x1_typdv2').val($('#x1_typdv').val());
              });
        });
        

        编辑:我还要添加更多的可靠性

        $(document).ready(function(){
              $('#x1_typdv').on("keyup", function() {
                   var value = $('#x1_typdv').val();
                   value && $('#x1_typdv2').val(value);
              });
        });
        

        工作小提琴 ==> https://jsfiddle.net/tonysamperi/aepc4sbj/

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-08-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多