我正在尝试使用PHP变量选择一个选择选项。
HTML
<div id="dom-target">
<?php
$output = $user->distritos;
echo htmlspecialchars($output);
?>
</div>
的jQuery
<script type="text/javascript">
var div = document.getElementById("dom-target");
var myData = div.textContent;
jQuery('select[name="country"]').find('option:contains(" + myData + ")').attr("selected",true);
</script>
但不会改变,只有当我用文字替换option:contains(" + myData + ")
时,例如option:contains("123")
它会选择带有文字“123”的选项
我做错了什么?
谢谢!
答案 0 :(得分:0)
您正在连接find()
内的字符串。考虑字符串的这三部分:
option:contains("
myData
")
要构建这样的字符串,您需要在第一部分之后关闭单引号,追加myData
,然后再次为第三部分打开单引号。
否则,您选择的<option>
包含字符串“+ myData +”。
var $div = jQuery("#dom-target"),
myData = $div.text();
jQuery('select').find('option:contains("' + myData + '")').prop("selected", true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="dom-target">foo</div>
<select>
<option>test</option>
<option>option 2</option>
<option>foo</option>
<option>bar</option>
</select>