$("[title='fieldName']")
Above selector does not match Choice field with radio buttons or checkboxes.
So it's time to dig into the html of newform.aspx/editform.aspx.
Have a look on the following html of choice field.
<table id="Choices_a3f7dc5c-38a9-4aa6-b8dc-d5c786bded0b_MultiChoiceTable" cellpadding="0" cellspacing="1">
<tbody>
<tr>
<td><span class="ms-RadioText" title="Enter Choice #1"><input id="Choices_a3f7dc5c-38a9-4aa6-b8dc-d5c786bded0b_MultiChoiceOption_0" type="checkbox" checked="checked"><label for="Choices_a3f7dc5c-38a9-4aa6-b8dc-d5c786bded0b_MultiChoiceOption_0">Enter Choice #1</label></span></td>
</tr>
<tr>
<td><span class="ms-RadioText" title="Enter Choice #2"><input id="Choices_a3f7dc5c-38a9-4aa6-b8dc-d5c786bded0b_MultiChoiceOption_1" type="checkbox"><label for="Choices_a3f7dc5c-38a9-4aa6-b8dc-d5c786bded0b_MultiChoiceOption_1">Enter Choice #2</label></span></td>
</tr>
<tr>
<td><span class="ms-RadioText" title="Enter Choice #3"><input id="Choices_a3f7dc5c-38a9-4aa6-b8dc-d5c786bded0b_MultiChoiceOption_2" type="checkbox"><label for="Choices_a3f7dc5c-38a9-4aa6-b8dc-d5c786bded0b_MultiChoiceOption_2">Enter Choice #3</label></span></td>
</tr>
</tbody>
</table>
So now you can apply following js to disable it.
(function(){
var allChoices = document.querySelectorAll('input[id^=Choices]');
[].forEach.call(allChoices, function(node){
node.disabled = "disabled";
});
})();
If you wish to use above code, then do not forget to replace Choices by your field name.
See result in JS Bin
For Managed metadata do the same thing. Find html from browser and then write some js to hide them.