0

我使用tShamsi__[2]#tShamsi__[3]id 作为元素,我可以将它们拆分为可以使用任何操作,例如我可以使用波斯历来获取阿拉伯日期并转换为公历。

查询

$('[id^="tShamsi_"]').datepicker({

    changeMonth: true,
    changeYear: true,
    showButtonPanel: true,
    dateFormat: 'yy/mm/dd',
    regional: 'fa',
    onSelect: function (dateText, inst) {
              miladi_ID = $(this).attr('id').split(/\[|\]/)[1];
              var date = new JalaliDate(inst['selectedYear'], inst['selectedMonth'], inst['selectedDay']).getGregorianDate();
              var month= (date.getMonth()+1).toString();
              if (month.length <2) month='0'+ month;

              var day= date.getDate().toString(); 
              if (day.length <2) day ='0'+ day;
              $('#miladi'+miladi_ID).val(date.getFullYear() + '-' + month + '-' + day);
            }
});
    $('#radio_content_4').change(function(){ // DISABLE INPUTS
        $('#tShamsi__[2]"]').prop('disabled', false);
    });

HTML:

 <input style='width: 100px;' class='en' id='tShamsi__[2]'  readonly='readonly' value='{$shamsi_date}' disabled='disabled'/>
 <input  type='hidden' id='miladi2'>

我的问题:我可以使用 datePicker 和 split,将其转换,但是对于禁用输入,我会收到此错误,Syntax error, unrecognized expression

4

1 回答 1

0

jQuery 语法,就像 css 选择器之一无法使用 # 选择任何具有有效 id 的元素。

您可以使用

$('[id="tShamsi__[2]"]')

或者

$(document.getElementById('tShamsi__[2]')

由于您只想启用该元素,因此可以将有问题的行缩短为

document.getElementById('tShamsi__[2]').disabled = false;
于 2013-06-03T18:17:10.443 回答