我有一个select元素,我需要检索所选选项的值,然后将数组的索引设置为该值。我需要在页面加载和每次更新select时发生这种情况。
它看起来像:
{{ Form::select('marketplace_id', $donation_options, '', array('data-smart-select', 'required', 'id' => 'marketplace_id')) }}
<span id="market_hint" class="help-block">{{ $marketplaces[0]['example'] }}</span>
选择ID为 marketplace_id
数组是$ marketplaces,它是一个多维数组,第二个值始终是['example'],但第一个值是select的值,它总是一个数字,如0,1,2,3等
通过当前的javascript可以检索select的值:
$( "#marketplace_id" ).val();
但我不知道如何继续更新market_hint span 标记内的数组。有一个简单的jQuery方法吗?
答案 0 :(得分:1)
如果你想在php呈现页面时将整个数组放入javascript的路径
?>
<script>
$(function(){
var myData = <?php echo json_encode( $marketplaces ); ?>
$("#marketplace_id").change(function(){
var value = $(this).val();
$("#market_hint").html(myData[value]["example"]);
});
//do a call here to do an initial setting of the span
$("#marketplace_id").change();
});
</script>
否则你将不得不对一个给你数据的脚本做一个ajax请求
$(function(){
$("#marketplace_id").change(function(){
var value = $(this).val();
$.get("someScript.php?theIndex="+value)
.done(function(response){
$("#market_hint").innerHTML = response;
});
});
});
someScript.php
<?php
$index = isset($_GET["theIndex"]) ? intval($_GET["theIndex"]) : 0;
//do some processing to get the needed data
//...
echo $data;
die;
当然要定制它以适应你的laravel框架,只使用普通的PHP,因为我不过分知道laravel