2015-05-19 2 views
0

Вот мой HTMLИзменение ReadOnly Атрибут ASP.NET Web App с помощью JQuery

<td style="width: 4pt;"> 
</td> 
<td> 
    <span style="display: inline-block; color: Black; font-family: Arial; font-size: 9pt; 
     font-weight: normal; width: 100pt; vertical-align: top;">Logic Ref Symbol</span> 
</td> 
<td> 
    <input name="ctl00$MainContent$TabContainer1$TabPanel2$GeneralInformationControl$Reference Path" 
     type="text" readonly="readonly" id="MainContent_TabContainer1_TabPanel2_GeneralInformationControl_Reference Path" 
     class="textbox" groupname="Logical Symbol" style="font-family: Arial; font-size: 9pt; 
     font-weight: normal; width: 150pt;" /> 
</td> 
<td style="width: 4pt;"> 
</td> 
<td style="width: 4pt;"> 
</td> 
<td> 
    <span style="display: inline-block; color: Black; font-family: Arial; font-size: 9pt; 
     font-weight: normal; width: 100pt; vertical-align: top;">Logic Assignee</span> 
</td> 
<td> 
    <select name="ctl00$MainContent$TabContainer1$TabPanel2$GeneralInformationControl$Logic Assignee" 
     id="MainContent_TabContainer1_TabPanel2_GeneralInformationControl_Logic Assignee" 
     class="dropdownlist" groupname="Logical Symbol" style="font-family: Arial; font-size: 9pt; 
     font-weight: normal; width: 150pt;"> 
     </td> 

При загрузке страницы первоначально, логика Ссылка Символ является ReadOnly. Когда выпадающее меню Logic Needed установлено в значение Yes, свойство ReadOnly должно исчезнуть, и пользователь должен будет ввести информацию для этого. Я прошел через многочисленные форумы и пробовал разные вещи, но не повезло в сбросе свойства readonly.

Infact one post говорит, что мы не можем установить свойство readonly для False, это может быть проблемой безопасности. Тем не менее, я пробовал использовать многие из подходов, включая

$('#'+logic_Type).prop('readonly', false);//Where Logic_Type contains my ID Name 
var Logic_Type= $('[id$=' + logic_Type + ']').get(0).removeAttr('readonly');//This throws a Syntax error as unrecognized Expression 

Я пробовал использовать одиночные и двойные кавычки. Ничего не работает, я ничего не пропустил? Действительно ли ASP.NET4.0 не поддерживает сброс свойства readonly на false? Я также попробовал document.getAttributebyId) Метод и tr = ied для сброса функции, но возвращает значение null.

Что мне здесь не хватает?

ответ

0

Как ваш идентификатор содержит пробел, необходимо разделители вокруг значения:

$('[id="' + logic_Type + '"]').prop('readonly', false); 

Альтернативой может быть, конечно, не использовать пространство в ИО, то вы можете получить доступ к нему более легко.

+0

Я попробую, но удаление пробела не может быть для меня вариантом, поскольку они имеют другие последствия со стороны БД. Эти имена напрямую привязаны к именам столбцов в моей БД, что делает вещи немного более сложными. Но можете ли вы объяснить мне с помощью примера, как разница между «и» в терминологии JQuery? – Programmerzzz

+1

@Programmerzzz: Это не разница между '' 'и' '', это разница между '' 'и ничего. apostrophes ('' ') используются как разделители строк в JavaScript, и я добавил кавычки (' '') для использования в качестве разделителей значений в селекторе. Использование '' [id = id] ''не работает, но' '[id =" id "]'' делает. – Guffa

Смежные вопросы