簡體   English   中英

如果選擇了帶值的下拉選項,則更改文本,否則不更改文本

[英]if dropdown option with value is selected then change text else do not change text

如果下拉菜單中的選定值是tribute_type_value1,則需要更改標簽,否則我不希望它更改值。

不管選擇什么,下面的腳本都會更改該值,但是如果選擇tribute_type_value1,我只希望更改文本。 如果已選擇,則選擇tribute_type_value2,文本應還原為原始字符。

 $("#tribute_type").change(function () { if ($("#tribute_type").value = "tribute_type_value1") { $("label[for=tribute_notify_recip_street1name]").text("Person to Notify Street 1:"); } }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <select name="tribute_type" id="tribute_type" size="1"> <option></option> <option value="tribute_type_value1">In Memory of</option> <option value="tribute_type_value2">In Honor of</option> </select> <label for="tribute_notify_recip_street1name">Honoree Street 1:</label> 

首先,正如Andy所說,您需要修復if條件( $("#tribute_type").value = "tribute_type_value1"應該是$("#tribute_type").value == "tribute_type_value1" -注意extra = )。

其次,要還原文本,您需要先存儲原始文本,然后替換它,以便以后可以還原它:

var defaultText = $("label[for=tribute_notify_recip_street1name]").text();

$("#tribute_type").change(function () {
  if ($("#tribute_type").value == "tribute_type_value1") {
    $("label[for=tribute_notify_recip_street1name]").text("Person to Notify Street 1:");
  } else {
    $("label[for=tribute_notify_recip_street1name]").text(defaultText);
  }
});

您在if語句中缺少= ,目前您正在分配的值始終等於true。

另外,您還必須在jquery選擇器上使用val()方法來獲取元素的值。

 $("#tribute_type").change(function () { if ($("#tribute_type").val() == "tribute_type_value1") { $("label[for=tribute_notify_recip_street1name]").text("Person to Notify Street 1:"); } else { $("label[for=tribute_notify_recip_street1name]").text("Honoree Street 1:"); } }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <select name="tribute_type" id="tribute_type" size="1"> <option></option> <option value="tribute_type_value1">In Memory of</option> <option value="tribute_type_value2">In Honor of</option> </select> <label for="tribute_notify_recip_street1name">Honoree Street 1:</label> 

這里是:

 $("#tribute_type").change(function () { if ($("#tribute_type").val() === "tribute_type_value1") { $("label[for=tribute_notify_recip_street1name]").text("Person to Notify Street 1:"); } else { $("label[for=tribute_notify_recip_street1name]").text("Honoree Street 1:"); } }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <select name="tribute_type" id="tribute_type" size="1"> <option></option> <option value="tribute_type_value1">In Memory of</option> <option value="tribute_type_value2">In Honor of</option> </select> <label for="tribute_notify_recip_street1name">Honoree Street 1:</label> 

第一個問題在此行中: if ($("#tribute_type").value = "tribute_type_value1") { 您應該比較=== ,而不要分配= 第二個問題是value使用:在jQuery中,您可以只使用val()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM