【问题标题】:How to enable/disable a certain field(s) base on input from drop-down menu?如何根据下拉菜单的输入启用/禁用某个字段?
【发布时间】:2014-11-11 14:45:41
【问题描述】:

下拉菜单 id = payment_method

  • 由收款人支付
  • 通过发票收费

下拉菜单 id = shipping_carrier

  • 联邦快递
  • DHL

输入字段 id = shipping_number __________________

目标:

如果用户选择通过发票收费

  • 禁用 shipping_carrier
  • 将 Fedex 设为默认
  • hide() 我的送货号码输入

否则,

  • 启用 shipping_carrier
  • 启用发货单号输入(必填)

代码

<script>
  var logistic = function () {
    if ($( "#payment_method option:selected" ).text("Charge through invoices")) {
        $('#shipping_carrier').prop('disabled', false);

    else {
        $('#shipping_carrier').prop('disabled', 'disabled');
    }
  };
  $(logistic);
  $("#paid_by_reciever").change(logistic);



</script>

【问题讨论】:

  • jsfiddle 比描述更有帮助。也许我们应该给出一个纯粹的描述性答案:)
  • 这是我在 stackoverflow 上的第一篇文章。我想我应该听从你的建议(jsfiddle)。感谢@PeterKA 的提示。

标签: php jquery html forms


【解决方案1】:

给你:

$("#payment_method").change(function() {
  console.log($("#payment_method option:selected").val());
  if ($("#payment_method option:selected").val() == 2) {
    $('#shipping_carrier').prop('disabled', 'disabled');
    $('#shipping_carrier').val(1);
    $('#shipping_number').hide();
  } else {
    $('#shipping_carrier').prop('disabled', false);
    $('#shipping_number').show();
  }
});
label {
  display: block;
  margin-bottom: 10px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label>
	Payment method: <br />
	<select id="payment_method" name="payment_method">
		<option value="1">paid by reciever</option>
		<option value="2">charge through invoices</option>
	</select>
</label>

<label>
	Shipping Carrier
	<select id="shipping_carrier" name="shipping_carrier">
		<option value="1">Fedex</option>
		<option value="2">DHL</option>
	</select><br />

</label>

<label>
	Shipping number<br />
 	<input type="text" name="shipping_number" id="shipping_number" value="" />
</label>

【讨论】:

  • 不完全正确。 $(logistic).change(logistic) 有效。
  • @lolka_bolka:谢谢。你真棒。 :) 这正是我想做的。
  • @lolka_bolka :您的代码,运行良好。现在,如果我想根据我的一个编辑表单中的旧输入触发相同的功能,你有什么建议吗?我希望你不介意给我指出正确的方向。
猜你喜欢
  • 2021-12-31
  • 2017-04-01
  • 1970-01-01
  • 2019-01-19
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 2019-02-14
  • 1970-01-01
相关资源
最近更新 更多