【发布时间】:2013-12-31 02:16:53
【问题描述】:
我对 jQuery 很陌生,我几乎完全可以肯定我在这里做错了很多事情。
我正在为电子竞技团队创建一个小型搜索页面作为一个项目。您从主页选择您的团队,然后使用 POST 将其馈送到结果页面。我有一个名为 $team_id 的变量,它存储一个与可以从该页面外部更新/更改的数组相关的数字 ID,因此在添加更多数字后,不能保证数字相同。
我需要将占位符替换为与主页 ID 匹配的文本。
这是我当前的 html:
<select name="exampleID" id="exampleID" data-placeholder="Team Name Will Be Updated Here">
<optgroup label="Conference One">
<option value="56" conf_id="1" team_id="1">Team Green</option>
<option value="57" conf_id="1" team_id="2">Team</option>
在上面的示例中,如果我从主页单击 Team Green,则 team_id="1" 将通过 POST 传递。
这是我当前的 javascript:
<script text="application/javascript">
$(function() {
var selectedTeam = "<?php print $team_id ?>"
var teamNames = [];
$('#exampleID option').each(function() {
teamNames.push({ "id" : this.value, "text" : this.textContent });
});
console.log(serviceNames);
});
在我的示例中,这会正确地将团队名称放入一个数组中,并将它们与一个 ID 匹配。这也正确地将我的 team_id 存储到 selectedTeam 变量中。
现在我的问题是,如何根据我的 serviceNames var 将占位符更新为选定的文本(因此它会更改为绿色团队)?
我尝试做这样的事情,但我不知道我是否走在正确的轨道上:
if(this.value == selectedTeam) {
$("#exampleID option[team_id='selectedTeam']").text();
$('select#exampleID').attr('data-placeholder,selectedTeam');
});
提前感谢您的帮助!
【问题讨论】: