当从HTML发送字符串到jQuery时,jQuery删除撇号后的字符

问题描述 投票:0回答:1

我试图将一个变量,一个带撇号的名字,从HTML传递给jQuery。当值到达jQuery时,字符串缺少撇号后的所有字符。

名称示例:Test'Ing

这是表格的一部分。我动态填充列表,从数据库中提取时名称显示正确:

<?php echo "<select id='hiringManager' class='dropdown_form' name='hiringManager'>";
    echo "<option disabled selected>Hiring Manager</option>";
        while ($result_row = mysqli_fetch_row($hiring_manager_query)) {
             echo "<option value='" . $result_row[0] . "'>" . $result_row[0] . "</option>";
        }
echo "</select>" ?>

然后我从表单中获取值并将其显示在jQuery模式中以进行确认:

$('#hiringManagerModal').text($('#hiringManager').val());

显示的结果文本是:

“测试”而不是“测试”

我已经四处寻找,但未能找到解决此问题的帖子,或者我无法在搜索中正确地表达问题。

任何帮助表示赞赏。谢谢!

javascript php jquery html html5
1个回答
2
投票

问题出在PHP代码上。我用's替换了"s和"s。之前输出的HTML是,

'

现在在所有替换之后,它是,

<select id='hiringManager' class='dropdown_form' name='hiringManager'>
<option disabled selected>Hiring Manager</option>
<option value='test'ing'>test'ing</option> <!-- In this option, the value is test instead of test'ing -->
</select>

真正发生的是当遇到<select id="hiringManager" class="dropdown_form" name="hiringManager"> <option disabled selected>Hiring Manager</option> <option value="test'ing">test'ing</option><!-- Now, here the value is test'ing, as required --> </select> 时,字符串终止,结果只输出“test”而不是“test'ing”。

所有替换后更正的PHP代码:

'

用,

<?php
echo '<select id="hiringManager" class="dropdown_form" onchange="displayInModal();" name="hiringManager">';
echo '<option disabled selected>Hiring Manager</option>';
while ($result_row = mysqli_fetch_row($hiring_manager_query)) {
    echo '<option value="' . $result_row[0] . '">' . $result_row[0] . '</option>';
}
echo '</select>'
?>

现在,同样的问题会出现

$('#hiringManagerModal').text($('#hiringManager').val());

另一种方式:

<option value="test"ing"></option>
© www.soinside.com 2019 - 2024. All rights reserved.