嗨我正在使用jquery mobile这是代码
<form class="ui-filterable">
<input id="filterBasic-input" data-type="search">
</form>
<div data-role="collapsible">
<h2><span>paris</span><span class="pays">france</span>
<a class="gene02"data-role="button" data-inline="true" data-mini="true">generique</a></h2>
<p>code:24</p>
</div>
</li>
<li>
<div data-role="collapsible">
<h2><span>marakeche</span>
<span class="pays">maroc</span>
<a class="gene02"data-role="button" data-inline="true" data-mini="true">generique</a>
</h2>
<p>code:3300</p>
</div>
</li>
我希望我点击class =“gene02”它将获得一个先例跨度的值与类支付并将其放在表格类=“ui-filterable”我尝试做这个形式类ui-filterable < / p>
$(document).ready(function () {
$(".gene02").click(function () {
$("#filterBasic-input").val($(".pays").html());
});
});
但它只选择法国而不是第二个div中的maroc。请求帮助
答案 0 :(得分:0)
基本上来自class selector
或collection
个元素,如果您访问其任何属性/值,它将仅返回集合中first one
的值。
尝试,
$(document).ready(function() {
$(".gene02").click(function() {
var xOutput = '';
$('.pays').each(function(){ xOutput += $(this).html(); });
$("#filterBasic-input").val(xOutput);
});
});
$(document).ready(function() {
$(".gene02").click(function() {
$("#filterBasic-input").val($(this).closest('div').find('.pays').html());
});
});
答案 1 :(得分:0)
你可以这样:
$(".gene02").click(function()
{
var $brotha = $(this).parent().find(".pays");
//$brotha is your element
});
答案 2 :(得分:0)
$(".gene02").click(function () {
$("#filterBasic-input").val($(this).prevAll(".pays").html());
});
如果它始终是第一个兄弟姐妹,您也可以使用$(this).prev()
代替。