根据下拉菜单将文本框onkeyinput复制到其他文本框?

时间:2017-01-04 14:11:38

标签: javascript jquery html

美好的一天。

我需要将输入文本框的内容复制到多个其他文本框中。

问题在于有一个下拉列表必须确定这一点。

流程:用户将进入"商品"进入" Commodity"文本框。

在此之后,他们将从下拉列表中选择"交付地点"的数量。如果他们选择" 1&#34 ;;文本框" Commodity1"将具有与主要"商品"相同的内容。文本框。

如果他们选择" 2" as" DeliveryPlaces",&& 34; Commodity1" &安培; " Commodity2"将内容输入" Commodity"。这个过程应该一直持续到" 5" for" DeliveryPlaces"。

我希望这样做的原因是我们的大多数客户只会订购一种商品,即使它会被运送到多个地方;



function copy(){
if (document.getElementById("DeliveryPlaces").value = "1")
  {
    document.getElementById("Commodity1").value=document.getElementById("Commodity").value;

  }
  
 else if (document.getElementById("DeliveryPlaces").value = "2")
  {
    document.getElementById("Commodity1").value=document.getElementById("Commodity").value;
	document.getElementById("Commodity2").value=document.getElementById("Commodity").value;

  }
  
  else if (document.getElementById("DeliveryPlaces").value = "3")
  {
    document.getElementById("Commodity1").value=document.getElementById("Commodity").value;
	document.getElementById("Commodity2").value=document.getElementById("Commodity").value;
	document.getElementById("Commodity3").value=document.getElementById("Commodity").value;

  }
  
  else if (document.getElementById("DeliveryPlaces").value = "4")
  {
    document.getElementById("Commodity1").value=document.getElementById("Commodity").value;
	document.getElementById("Commodity2").value=document.getElementById("Commodity").value;
	document.getElementById("Commodity3").value=document.getElementById("Commodity").value;
	document.getElementById("Commodity4").value=document.getElementById("Commodity").value;

  }
  
  else if (document.getElementById("DeliveryPlaces").value = "5")
  {
    document.getElementById("Commodity1").value=document.getElementById("Commodity").value;
	document.getElementById("Commodity2").value=document.getElementById("Commodity").value;
	document.getElementById("Commodity3").value=document.getElementById("Commodity").value;
	document.getElementById("Commodity4").value=document.getElementById("Commodity").value;
	document.getElementById("Commodity5").value=document.getElementById("Commodity").value;

  }
  
else 
  {
      document.getElementById("Commodity1").value="";
	  document.getElementById("Commodity2").value="";
	  document.getElementById("Commodity3").value="";
	  document.getElementById("Commodity4").value="";
	  document.getElementById("Commodity5").value="";

  }
}

<p>
Commodity
</p><input type="textbox" id="Commodity" onkeyinput="copy();">
<p>
Commodity1
</p><input type="textbox" id="Commodity1"> 
<p>
Commodity2
</p><input type="textbox" id="Commodity2">
<p>
Commodity3
</p><input type="textbox" id="Commodity3">
<p>
Commodity4
</p><input type="textbox" id="Commodity4">
<p>
Commodity5
</p><input type="textbox" id="Commodity5">

<p>
Delivery Places
</p>
<select style="width:50px;" id="DeliveryPlaces">
<option value="-">-</option>
<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>
</select>
&#13;
&#13;
&#13;

因此,通过自动填写,我们会为用户节省一些时间。

我设法让它工作没有 if 条件,这很简单。然而,现在,它只是填补&#34; Commodity1&#34;即使我选择了一个&#34; DeliveryPlace&#34;这不是&#34; 1&#34;。

任何帮助都将不胜感激。

4 个答案:

答案 0 :(得分:2)

尝试使用:

var e = document.getElementById("DeliveryPlaces")
var selection = e.options[e.selectedIndex].value;

然后根据选择中的值来处理你的情况。

您当前正在选择Select元素的值而不是您实际选择的选项。

编辑:它可能是您选择时需要的文字而不是价值,但请试一试!

答案 1 :(得分:2)

切换:

if (document.getElementById("DeliveryPlaces").value = "1")

要     if (document.getElementById("DeliveryPlaces").value == "1")

代码实际上是在语句中将DeliveryPlaces切换为1

答案 2 :(得分:2)

我会这样做:

 var oraConnectionString = new OracleConnectionStringBuilder(_connectionString);
            using (var oraConnection = new OracleConnection(oraConnectionString.ConnectionString))
            {
                oraConnection.Open();
                try
                {
                    using (var command = new OracleCommand(sqlText, oraConnection))
                    {
                        command.Parameters.Clear();
                        command.BindByName = true;
                        command.Parameters.Add("node", _currentNode);
                        command.Parameters.Add("carrierId", CarrierId);
                        command.Connection.BeginTransaction();
                        command.ExecuteNonQuery();
                        command.CommandText = UtilityMethods.LoadTemplate("Resources/CreateCarrier.sql", "Carriers");
                        command.Parameters.Clear();
                        command.Parameters.Add("carrierName", CarrierName);
                        command.Parameters.Add("line1", Line1);
                        command.Parameters.Add("line2", Line2);
                        command.Parameters.Add("line3", Line3);
                        command.Parameters.Add("line4", Line4);
                        command.ExecuteNonQuery();
                        command.CommandText = UtilityMethods.LoadTemplate("Resources/GetCarrierId.sql", "Carriers");
                        CarrierId = Convert.ToString(command.ExecuteScalar());
                        if (CarrierId == null)
                        {
                            //TODO
                        }

                        command.Parameters.Clear();
                        command.CommandText = command.CommandText = UtilityMethods.LoadTemplate("Resources/AddCarrierToNode.sql", "Carriers");
                        command.Parameters.Add("node", _currentNode);
                        command.Parameters.Add("rank", Convert.ToInt32(Rank));
                        command.Parameters.Add("carrierId", Convert.ToInt32(CarrierId));
                        command.ExecuteNonQuery();
                        command.Transaction.Commit();
                    }
                }

这样,您可以清除其他商品,当您更改到较低的交货地点时+您可以通过编辑for循环轻松添加更多商品。

答案 3 :(得分:1)

您的功能应该会收到下拉列表的编号。也就是说,如果您选择了2个副本(2),那么您可以使用for并浏览要填写的内容

for (i = item.length; i = 0; i--) { 
    document.getElementById("Commodity"+i).value=document.getElementById("Commodity").value;
}

for将从低到高直到达到0.这意味着如果它是5. 5,4,3,2,1它将计数并将填充你想要的所有字段。这样可以避免在结构中使用意大利面条代码。

我知道您使用的是纯JavaScript。但你可以使用jquery,它可以使工作更容易。