Javascript 如何在jQuery中使用变量id作为选择器
我在这里找到了一个用于选择框的提琴:这很好,但我需要一个动态的选择框,这意味着一个动态的ID。作为jQuery和javascript的新手,如果我在php中使用动态[idx]值将每个id增加1(例如:prophlist_1,choose_1;prophlist_2,choose_2;等等),我将如何在jq中创建变量选择器。如果您有任何见解,我们将不胜感激 这是小提琴的代码:Javascript 如何在jQuery中使用变量id作为选择器,javascript,jquery,html,Javascript,Jquery,Html,我在这里找到了一个用于选择框的提琴:这很好,但我需要一个动态的选择框,这意味着一个动态的ID。作为jQuery和javascript的新手,如果我在php中使用动态[idx]值将每个id增加1(例如:prophlist_1,choose_1;prophlist_2,choose_2;等等),我将如何在jq中创建变量选择器。如果您有任何见解,我们将不胜感激 这是小提琴的代码: <ul id="prophlist" style="display:none;"> <li>Pro
<ul id="prophlist" style="display:none;">
<li>Prophecy 1 text</li>
<li>Prophecy 2 text</li>
<li>Prophecy 3 text</li>
<li>Prophecy 4 text</li>
<li>Prophecy 5 text</li>
<li>Prophecy 6 text</li>
<li>Prophecy 7 text</li>
<li>Prophecy 8 text</li>
<li>Prophecy 9 text</li>
<li>Prophecy 10 text</li>
</ul>
<select id="choose">
<option value="1">Title 1</option>
<option value="2">Title 2</option>
<option value="3">Title 3</option>
<option value="4">Title 4</option>
<option value="5">Title 5</option>
<option value="6">Title 6</option>
<option value="7">Title 7</option>
<option value="8">Title 8</option>
<option value="9">Title 9</option>
<option value="10">Title 10</option>
</select>
<div id="update">
</div>
$('#choose').change(
function(){
var i = this.selectedIndex;
$('#update').text($('#prophlist li').eq(i).text());
});
- 预言1文本
- 预言2文本
- 预言3文本
- 预言4文本
- 预言5文本
- 预言6文本
- 预言7文本
- 预言8文本
- 预言9文本
- 预言10文本
标题1
标题2
标题3
标题4
标题5
标题6
标题7
标题8
标题9
标题10
$(“#选择”)。更改(
函数(){
var i=此.selectedIndex;
$('#update').text($('#prophlist li').eq(i).text());
});
我需要一个动态的选择框,这意味着一个动态的ID
不需要。您根本不需要使用元素ID来实现此功能。您可以为select元素指定相同的类:
然后在处理程序中,使用like。next()
根据div在标记中的相对位置查找div,而不是使用id来查找相关div:
$(this).next().text(...)
此外,如果显示:无
ul元素仅用于保存描述,为什么不将其删除并将描述直接添加到每个选项中,如下所示:
<option value="1" data-desc="Prophecy text 1">Title 1</option>
$('.choose').change(function(){
$(this).next().text( $(this).find(':selected').attr('data-desc') );
})
这里有一个最新版本的fiddle,它显示了一点JS处理多个select元素:如果问题的标题被改写以反映问题的要求,而不是建议的解决方案,那就太好了。谢谢。我们快到了。。。我不想在div中显示选项说明的值,我想显示li的值。参见此处()选项文本“标题1”如何显示li文本“预言1文本”。。。
<option value="1" data-desc="Prophecy text 1">Title 1</option>
$('.choose').change(function(){
$(this).next().text( $(this).find(':selected').attr('data-desc') );
})