簡體   English   中英

在將選項文本分配給隱藏輸入時,如何從選擇選項中刪除HTML nbsp標記

[英]How can i remove HTML nbsp tags from select options when assigning the text of option to hidden input

將值分配給html hidden元素時,它還會分配nbsp標記,該標記位於select語句中。 我不希望任何html標簽只是文本

 function setTextFieldA(ddl) { var a = ddl.options[ddl.selectedIndex].text; var res = a.slice(0,12); alert(res); document.getElementById('prod1').value = res; /*document.getElementById('prod1').value = ddl.options[ddl.selectedIndex].text;*/ } 
 <select name="1" id="1" class="selectadd" onchange="setTextFieldA(this)" required > <option value="99">Red Vein </option> <option value="99">White Vein </option> <option value="99">Green Vein </option> <option value="109">Red Horned &nbsp; [Add $10]</option> <option value="109">White Horned [Add $10]</option> <option value="109">Green Horned [Add $10]</option> <option value="109">Maeng da &nbsp; &nbsp; &nbsp; [Add $10]</option> </select> <input id="prod1" type = "hidden" name = "prod1" value = "Red Vein" /> 

首先,不要使用切片,你永遠不知道你的價值可能是多長。 刪除var res = a.slice(0,12);

其次,您可以使用正則表達式刪除字符串末尾的所有空格和價格標簽,如下所示:

var res = res.replace(/\s*(\[.*\])*$/, ""); //removes white spaces and "[Add 10$]" tag

如果你使用jQuery:

function setTextFieldA(ddl) {
  var res = $('option:selected',ddl).text().slice(0,12).trim();
  alert(res);
  $('#prod1').val(res);
}

檢查這個小提琴

暫無
暫無

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

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