在 select 选项值中设置双引号字符串 javascript/jquery 并从 javascript/jquery 获取

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

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

在我的 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();

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

获取:'Pet Size Bed (40' 改为 'Pet Size Bed (40" X 30")'

那么问题来了 如何获取双引号字符串?

是否有任何其他方法来设置双引号字符串并从 jquery 或 javascript 获取它?

更新

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

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

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

那么我怎样才能得到特殊字符而不是它的 html代码?

我可以使用 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>';
}