首页 > 解决方案 > 有没有办法在 html 标签中动态设置 data-value 属性的值?

问题描述

我在 HTML 标签中使用属性来控制数据。我应该如何动态设置 data-val 值?

我正在为应用程序设置新配置。根据这个配置,我需要在标签data-Val中动态设置属性。<Select>当我写的时候data-val="true",它工作正常。但是当动态设置它的值时,它不起作用。请注意,类型tisApp.insuranceCertificateVM.insuranceCertificate().HasForbiddenGoods()是 boolean 。

<div class="k-dropdown-wrap editor-select-width">
   <select
    multiple="multiple"
    class="k-dropdown 
    TabOnEnter"
    tabindex="6"
    id="insuranceCertificateEdit_GoodID"
    name="insuranceCertificateEdit.GoodID"
    data-bind=" options: 
    tisApp.insuranceCertificateVM.insuranceCertificate().GoodSelectItems, 
    enable:tisApp.insuranceCertificateVM.insuranceCertificate().FinalRegister() 
    == false,
    optionsText: 'Name', optionsValue : 'ID',
    selectedOptions: 
    tisApp.insuranceCertificateVM.insuranceCertificate().GoodIds, 
    optionsCaption: 'Choose...'"
    data-val="tisApp.insuranceCertificateVM.insuranceCertificate().HasForbiddenGoods()"
    data-val-required="Fill this field!">
   </select>
</div>
<span
  class="field-validation-valid"
  data-valmsg-
  for="insuranceCertificateEdit.GoodID"
  data-valmsg-replace="true">
</span>

我期望当我使用tisApp.insuranceCertificateVM.insuranceCertificate().HasForbiddenGoods()它时data-val它的价值。

标签: jqueryhtml

解决方案


您必须在属性中评估您的字符串data-val并将其作为函数调用!

可能在您的$(document).ready()活动中:

var jsCode = $("#insuranceCertificateEdit_GoodID").attr("data-val");
eval(jsCode);
var resultData = eval(jsCode);

并将结果设置为您想要的任何属性。


推荐阅读