切换foreach获得div类的价值

时间:2014-01-23 20:10:52

标签: jquery ajax foreach

我想获取div类“nameregion”的值,我必须通过POST在Ajax中发送它。 我有一个foreach,这是我尝试但它没有工作,我收到了regionid的空白。

感谢。

foreach($data as $plus) {

if($prev_type != $plus['FRN_TYPE_ENTREE_VALUE']) {
       $prev_type = $plus['FRN_TYPE_ENTREE_VALUE'];
       echo ' <div style="color: #708090; font-size: 24px; margin-bottom: 30px; margin-left: 20px; margin-top: 25px; text-align: left;">
       '.$plus['FRN_TYPE_ENTREE_VALUE'].'</div>';
    } 

echo '<a href="#" class="region" value="'.$plus['FRN_TYPE_ENTREE'].'"><img src="images/plus.png" style="float: left; margin-top:-5px; margin-left: 15px; margin-right: 5px;"></a>
<div style="color: #000; font-size: 20px; margin-bottom: 30px; margin-left: 20px; margin-top: 0px; text-align: left;" class="nameregion" value="oui">'.$plus['FRN_RGN_VALUE'].'</div></a>
<div class="mytoggle"><div class="val"></div></div>';
}
<script type="text/javascript">
$(".mytoggle").hide();
$('.region').click(function(){
$(this).next().next('.mytoggle').toggle('fast');
var catalogue = "catalogue";
var regionid = $(this).next().val();
            $.ajax({
            type: 'POST',
            url: 'function.php',
            data: {'catalogue': catalogue, 'regionid': regionid },
            success: function (data) {
            $(".val").append(""+data+"").fadeIn(1000);
           }
           });
          $(".val").empty();
    return false; //to avoid the link from working
});
</script>

我想在这里获得值“oui”:

<div style="color: #000; font-size: 20px; margin-bottom: 30px; margin-left: 20px; margin-top: 0px; text-align: left;" class="nameregion" value="oui">'.$plus['FRN_RGN_VALUE'].'</div></a>

感谢。

2 个答案:

答案 0 :(得分:1)

尝试改变这个:

var regionid = $(this).next().val();

到此:

var regionid = $('.nameregion').html();

如果您的班级nameregion的div是您点击的元素之后的下一个元素,则可以使用:

var regionid = $(this).next().html();

但仅限于点击后的元素

之后的下一个元素

<强>更新

更改此

<div style="color: #000; font-size: 20px; margin-bottom: 30px; margin-left: 20px; margin-top: 0px; text-align: left;" class="nameregion" value="oui">'.$plus['FRN_RGN_VALUE'].'</div></a>

到此:

<div style="color: #000; font-size: 20px; margin-bottom: 30px; margin-left: 20px; margin-top: 0px; text-align: left;" class="nameregion" data-value="oui">'.$plus['FRN_RGN_VALUE'].'</div></a>

并以此模式检索它:

var regionid = $('.nameregion').data('value');

Div元素没有value属性,但您可以使用以下数据属性:data-value="oui"

答案 1 :(得分:1)

div个元素没有value。尝试使用data-属性:

<div data-value="oui"></div>

var regionid = $(this).next().data('value');