- 升级 ECharts 到 5.4.2,重构 lib/ 目录结构 - 新增 DataTables 2.x 和 FixedColumns 插件 - 新增 quant/ 宏观研究报告模块 - 重构图表页面:stock_trend、hkholdbycode 等采用 JS fetch API.doorcome.cn 模式 - 新增 CLAUDE.md 补充页面文档和新数据流说明 - 更新 inc/config.php TuShare API 配置 - 更新新闻联播分析模块 news/ 和相关研究报告 research/ - 新增 api_document/ 参考文档 - 清理 .gitignore,排除 uploads/xls/.mcp.json/ source maps 等非代码文件 - 所有 PHP 文件通过 php -l 语法检查 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
107 lines
3.4 KiB
PHP
107 lines
3.4 KiB
PHP
<div class="layui-form-item">
|
|
<label class="layui-form-label">股票代码:</label>
|
|
<div class="layui-input-block" id="ccc">
|
|
<input type="text" name="stockcode" value="{$data.stockcode}" autocomplete="off" class="layui-input" id="kw" onKeyup="getContent(this);">
|
|
<div id="append"></div>
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item">
|
|
<label class="layui-form-label">股票名称:</label>
|
|
<div class="layui-input-block">
|
|
<input type="text" name="stockname" value="{$data.stockname}" autocomplete="off" class="layui-input" id="codename">
|
|
<input type="hidden" name="" value="" class="layui-input" id="hiddenname">
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
$(document).ready(function(){
|
|
$(document).keydown(function(e){
|
|
e = e || window.event;
|
|
var keycode = e.which ? e.which : e.keyCode;
|
|
if(keycode == 38){
|
|
if(jQuery.trim($("#append").html())==""){
|
|
return;
|
|
}
|
|
movePrev();
|
|
}else if(keycode == 40){
|
|
if(jQuery.trim($("#append").html())==""){
|
|
return;
|
|
}
|
|
$("#kw").blur();
|
|
if($(".item").hasClass("addbg")){
|
|
moveNext();
|
|
}else{
|
|
$(".item").removeClass('addbg').eq(0).addClass('addbg');
|
|
}
|
|
|
|
}else if(keycode == 13){
|
|
dojob();
|
|
}
|
|
});
|
|
|
|
var movePrev = function(){
|
|
$("#kw").blur();
|
|
var index = $(".addbg").prevAll().length;
|
|
if(index == 0){
|
|
$(".item").removeClass('addbg').eq($(".item").length-1).addClass('addbg');
|
|
}else{
|
|
$(".item").removeClass('addbg').eq(index-1).addClass('addbg');
|
|
}
|
|
}
|
|
|
|
var moveNext = function(){
|
|
var index = $(".addbg").prevAll().length;
|
|
if(index == $(".item").length-1){
|
|
$(".item").removeClass('addbg').eq(0).addClass('addbg');
|
|
}else{
|
|
$(".item").removeClass('addbg').eq(index+1).addClass('addbg');
|
|
}
|
|
|
|
}
|
|
|
|
var dojob = function(){
|
|
$("#kw").blur();
|
|
var value = $(".addbg").text();
|
|
$("#kw").val(value);
|
|
$("#append").hide().html("");
|
|
}
|
|
});
|
|
function getContent(obj){
|
|
var kw = jQuery.trim($(obj).val());
|
|
if(kw == ""){
|
|
$("#append").hide().html("");
|
|
return false;
|
|
}
|
|
$.ajax({
|
|
url:"{:U('question/stock')}",
|
|
data:{"key":kw},
|
|
dataType:"json",
|
|
type:"POST",
|
|
success:function(data){
|
|
var html = "";
|
|
for (var i = 0; i < data.length; i++) {
|
|
if (data[i][0].indexOf(kw) >= 0) {
|
|
html = html + "<div namelist="+data[i][4]+" codelist="+data[i][0]+" class='item' onmouseenter='getFocus(this)' onClick='getCon(this);'>"+data[i][0]+"--"+data[i][4]+"</div>"
|
|
}
|
|
}
|
|
if(html != ""){
|
|
$("#append").show().html(html);
|
|
}else{
|
|
$("#append").hide().html("");
|
|
}
|
|
}
|
|
});
|
|
|
|
}
|
|
function getFocus(obj){
|
|
$(".item").removeClass("addbg");
|
|
$(obj).addClass("addbg");
|
|
}
|
|
function getCon(obj){
|
|
var value = $(obj).attr('codelist')
|
|
var name = $(obj).attr('namelist');
|
|
console.log(name)
|
|
$("#kw").val(value);
|
|
$("#codename").val(name);
|
|
$("#append").hide().html("");
|
|
}
|
|
</script> |