jQuery语法错误,使用元素id中无法识别的表达式

时间:2013-06-03 18:14:50

标签: jquery

我正在使用tShamsi__[2]#tShamsi__[3] id作为元素,我可以拆分那些可以使用任何动作,例如我可以使用波斯日历获取阿拉伯语日期并转换为格里高利。

JQUERY

$('[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并拆分,转换但是对于禁用输入我收到此错误,Syntax error, unrecognized expression

1 个答案:

答案 0 :(得分:0)

jQuery语法,就像css选择器之一一样,无法选择具有有效id的#any元素。

您可以使用

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

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

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

document.getElementById('tShamsi__[2]').disabled = false;