把变量int选项选中

时间:2015-09-03 00:04:13

标签: php jquery

我正在尝试使用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”的选项

我做错了什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

您正在连接find()内的字符串。考虑字符串的这三部分:

  1. option:contains("
  2. myData
  3. 的值
  4. ")
  5. 要构建这样的字符串,您需要在第一部分之后关闭单引号,追加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>