avalon中用:duplex设置select默认项出错的问题。

发布于 2022-09-05 01:45:07 字数 1737 浏览 16 评论 0

        <--html代码-->    
        <div class="form-item">
            <label class="item-label">上级模块</label>
            <div class="controls">
                <select name="pid" :duplex="data.pid">
                    <option value="0">顶级模块</option>
                    <option :for="item in menu" :attr="{value:item.id}">{{item.title_show}}</option>
                </select>
            </div>
        </div>
        
        <--js代码-->
        var edit_box=avalon.define({
        $id: "edit_box",
        data:edit_box_defautl,
        menu:'',
        show_add:function(pid){
            edit_box.data=edit_box_defautl;
                if(pid>0){
                    edit_box.data.pid=pid;
                }else{
                    edit_box.data.pid='';
                }
            open_dialog({content:'#edit_box'},{title:'新增模块',id:'admin_menu_edit',yesText:'关闭'});
            }
        });
        
        

clipboard.png
为了方便对比,我把id显示出来,上方的数字是我点击按钮后对应的value,框里的是select下拉框默认选择项,这是没有问题的

clipboard.png
这个就有问题,点击的按钮的value是216,但是下拉框默认选择的是value为16的

clipboard.png
value是235,但是默认选中的是value为23的选项。

我的问题就是select下拉框默认选中的option会选错,一般出错的是所选的value拆分开后,其值也在option中存在(例:value是265,如果select里面有value是26或65的选项,会默认选择它们,而不是自己)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

白昼 2022-09-12 01:45:07

示例代码跑不通,没太理解你的需求和问题。你说点击按钮,什么按钮,做什么操作的?

明媚如初 2022-09-12 01:45:07

上面不清楚,我又写了一个html代码,可以测试一下,帮忙看一下这是什么问题,属于框架本身的原因吗?

<!DOCTYPE html>
<html>
<head>
<script src="avalon.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body :controller="fruit">
<h3>文本域与下拉框的联动</h3>
<div style="height:80px;;">
<p style="float:left;"  onclick="fruit.show(20)">20--</p>
<p style="float:left;"  onclick="fruit.show(216)">216--</p>
<p style="float:left;"  onclick="fruit.show(15)">15--</p>
<p style="float:left;"  onclick="fruit.show(19)">19--</p>
<p style="float:left;"  onclick="fruit.show(235)">235--</p>
<p style="float:left;"  onclick="fruit.show(192)">192--</p>
<p style="float:left;"  onclick="fruit.show(217)">217--</p>
<p style="float:left;"  onclick="fruit.show(236)">236--</p>
<p style="float:left;"  onclick="fruit.show(16)">16--</p>
<p style="float:left;"  onclick="fruit.show(135)">135--</p>
<p style="float:left;"  onclick="fruit.show(195)">195--</p>
<p style="float:left;"  onclick="fruit.show(237)">237--</p>
<p style="float:left;"  onclick="fruit.show(193)">193--</p>
<p style="float:left;"  onclick="fruit.show(219)">219--</p>
<p style="float:left;"  onclick="fruit.show(221)">221--</p>
<p style="float:left;"  onclick="fruit.show(223)">223--</p>
<p style="float:left;"  onclick="fruit.show(17)">17--</p>
<p style="float:left;"  onclick="fruit.show(23)">23--</p>
<p style="float:left;"  onclick="fruit.show(224)">224--</p>
<p style="float:left;"  onclick="fruit.show(225)">225--</p>
<p style="float:left;"  onclick="fruit.show(226)">226--</p>
<p style="float:left;"  onclick="fruit.show(24)">24--</p>
<p style="float:left;"  onclick="fruit.show(228)">228--</p>
<p style="float:left;"  onclick="fruit.show(229)">229--</p>
<p style="float:left;"  onclick="fruit.show(230)">230--</p>
<p style="float:left;"  onclick="fruit.show(227)">227--</p>
<p style="float:left;"  onclick="fruit.show(26)">26--</p>
<p style="float:left;"  onclick="fruit.show(18)">18--</p>
<p style="float:left;"  onclick="fruit.show(27)">27--</p>
<p style="float:left;"  onclick="fruit.show(213)">213--</p>
<p style="float:left;"  onclick="fruit.show(29)">29--</p>
<p style="float:left;"  onclick="fruit.show(214)">214--</p>
<p style="float:left;"  onclick="fruit.show(231)">231--</p>
<p style="float:left;"  onclick="fruit.show(212)">212--</p>
<p style="float:left;"  onclick="fruit.show(28)">28--</p>
<p style="float:left;"  onclick="fruit.show(30)">30--</p>
</div>

{{data}}

<select :duplex="data" name="pid">
    <option value="0">顶级模块</option>
    <option value="20">当前项目20</option>
    <option value="216">└切换项目216</option>
    <option value="15">项目管理15</option>
    <option value="19">└所有项目19</option>
    <option value="235">└└新增项目235</option>
    <option value="192">└项目工作记录192</option>
    <option value="217">└└数据报告217</option>
    <option value="236">└└添加进度记录236</option>
    <option value="16">需求管理16</option>
    <option value="135">└需求模块管理135</option>
    <option value="195">└└发布版本195</option>
    <option value="237">└└查看原型图237</option>
    <option value="193">└版本变更记录193</option>
    <option value="219">└└版本搜索219</option>
    <option value="221">└└对比数据报告221</option>
    <option value="223">└└最新数据报告223</option>
    <option value="17">缺陷管理17</option>
    <option value="23">└所有缺陷23</option>
    <option value="224">└└查询记录224</option>
    <option value="225">└└撤销缺陷225</option>
    <option value="226">└└确认缺陷226</option>
    <option value="24">└我的缺陷24</option>
    <option value="228">└└确认缺陷228</option>
    <option value="229">└└提交修复报告229</option>
    <option value="230">└└查看记录230</option>
    <option value="227">└缺陷统计227</option>
    <option value="26">└存在分歧的缺陷26</option>
    <option value="18">任务管理18</option>
    <option value="27">└所有任务27</option>
    <option value="213">└└子任务列表213</option>
    <option value="29">└└任务完成审核29</option>
    <option value="214">└└延长截止日期214</option>
    <option value="231">└└领取任务231</option>
    <option value="212">└└任务历史记录212</option>
    <option value="28">└我的任务28</option>
    <option value="30">└└完成任务30</option>
    </select>

</body>
<script>
    var fruit=avalon.define({
        $id:'fruit',
        data:'',
        show:function(id){
            fruit.data=id;
        }
    });
</script>
</html>
我的奇迹 2022-09-12 01:45:07

你好,我遇到了同样的问题,不知道你是否已经解决了该问题?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文