有什么方法可以在html标签中动态设置data-value属性的值?

时间:2019-06-02 06:31:00

标签: jquery html

我正在使用HTML标记中的属性来控制数据。我应该如何动态设置数据值?

我正在为应用程序设置新的配置。根据这种配置,我需要在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时,它将按其值起作用。

1 个答案:

答案 0 :(得分:2)

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

可能是在您的$(document).ready()事件中:

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

并在所需的任何属性中设置结果。