繁体   English   中英

在来自 javascript/jquery 的选择选项值中设置双引号字符串,也从 javascript/jquery 获取

[英]Set double quotes string in select option value from javascript/jquery and also get from javascript/jquery

我的基本要求是使用 jquery 设置选择选项值,并且还想获取它的值。

在我的 PHP 代码中,我正在创建类似的选项

foreach ($option_value->values as $key => $opt_value) {
      $variants_options .= '<option value="' . $variant_val . '">' . $opt_value . '</option>';
}

从 js 添加这个值,

jQuery("#section-" + row_id + " .variant_detail_section.addFromApi .option1_options").html(value.variants_options[value.variants_name[0]]);

它的样子选择选项显示为图像

现在,我想获得 selected 的值

option1 = jQuery("#section-" + row_id + " .option1_options").find(":selected").val();

在这里,我得到了一半的价值

获得:“宠物尺寸床(40”而不是“宠物尺寸床(40" X 30"))

所以,这里的问题是如何获得双引号字符串?

有没有其他方法可以设置双引号字符串并从 jquery 或 javascript 中获取它?

更新

现在我使用 html() 来获取所选选项值的文本。

我的问题是我得到了一些特殊字符的 html 代码,例如:

&amp; &lt;&gt; instead &,<,>

那么我怎样才能得到特殊字符而不是它的 htmlcode 呢?

我可以使用 text() 还是会产生任何问题?

您可以使用.html()获取所选选项的文本。

这是一个例子

 $('#selBox').change(function(){ var selBox = $('#selBox').find(":selected").html() console.log('Selected text value is ',selBox) selBox = $('#selBox').find(":selected").val() console.log('Selected actual value is ',selBox) })
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <select id='selBox'> <option value='Pet Size Bed'>Pet Size Bed (40" X 30")</option> <option value='M'>M</option> <option value='L'>L</option> </select>

或者您也可以尝试使用单个 qoutes 覆盖该值

<option value='Pet Size Bed (40" X 30")'>Pet Size Bed (40" X 30")</option>

是的。 您需要在引号前添加斜杠:

在您的 PHP 代码中使用addslahes()并且您将能够获得正确的值。

foreach ($option_value->values as $key => $opt_value) {
      $variants_options .= '<option value="' . addslahes($variant_val) . '">' . $opt_value . '</option>';
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM