我完全陷入我的代码中。我希望我从option = fields.Boolean(string='option')
selected_option = fields.Boolean(compute='check_value', string='Selected')
@api.multi
def check_value(self):
for result in self:
if result.option == True:
result.selected_option = True
result.selected_option = False
中选择一些选项
这向我展示了我选择的内容
我有一个带有某些属性的函数。
功能如下:
<select>
这是选择功能:
class Data {
public function example() {
$values = array(
'one' => array(
'name' => 'Name One',
'atts' => array(
'style' => array(
'type' => '123'
),
'something' => array(
'type' => 'wow'
),
),
),
'two' => array(
'name' => 'Name Two',
'atts' => array(
'style' => array(
'type' => 'select'
),
'something' => array(
'type' => 'wow'
),
),
),
);
return $value;
}
}
new Data();
最后这就是我想要得到的
<h2>Select</h2>
<select class="options">
<?php
foreach ($this->example() as $value){
$output = '<option value="'.$value['name'].'">'.$value['name'].'</option>';
echo $output;
}
?>
</select>
我想要的是:如果我在选择选项中选择“名称一”,它将返回“ 123哇”,如果我选择“名称二”,则将返回我“选择哇”
我知道可以通过Ajax完成,但是我遇到了一些麻烦。
我的JS代码:
<div id="content">
<?php
foreach ($this->example() as $value){
foreach ($value['atts'] as $attr_name => $attr_parm){
$return = '<p>'.$attr_parm['type'].'</p>';
echo $return;
}
}
?>
</div>
我了解我的JS代码是完全错误的,但是无论如何,也许您对如何解决我的问题或应该如何解决这个问题有一些想法
答案 0 :(得分:1)
有一种更简单的方法来制作您想要的东西:
data.php
<?php
$values = array(
'0' => array(
'name' => 'Name One',
'atts' => array(
'style' => array(
'type' => '123'
),
'something' => array(
'type' => 'wow'
),
),
),
'1' => array(
'name' => 'Name Two',
'atts' => array(
'style' => array(
'type' => 'select'
),
'something' => array(
'type' => 'wow'
),
),
),
);
$val=$_POST['val'];
$getKey = array_search($val, array_column($values, 'name'));
if (isset($values[$getKey])) {
$data=$values[$getKey];
header('Content-Type: application/json');
echo json_encode($data);
}
// echo "<pre>";print_r($data);
?>
使用data.php,您可以通过array_search()从数组中获取数据。
和index.php中的
<?php
$values = array(
'0' => array(
'name' => 'Name One',
'atts' => array(
'style' => array(
'type' => '123'
),
'something' => array(
'type' => 'wow'
),
),
),
'1' => array(
'name' => 'Name Two',
'atts' => array(
'style' => array(
'type' => 'select'
),
'something' => array(
'type' => 'wow'
),
),
),
);
?>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js">
</script>
<script type="text/javascript">
$(document).ready(function(){
$(".options").change(function(){
val=$(this).val();
// console.log(val);
$.ajax({
url:"data.php", // post val to data.php
type: "POST",
data:'val='+val,
success: function(response) {
// console.log(response.atts.style.type);
//parsing data from json format
var str1=response.atts.style.type;
var str2=response.atts.something.type;
$('.content').html(str1+" "+str2);
}
});
});
});
</script>
<br><br>
<h2>Select</h2>
<select class="options">
<?php
foreach ($values as $value){
$output = '<option value="'.$value['name'].'">'.$value['name'].'</option>';
echo $output;
}
?>
</select>
<br><br><br><br>
<div class="content">
</div>
希望这对您有所帮助。