I am working on code to wrap BBCodes around a user selection, then leave the selection selected for possibly adding more BBCodes around the same selection.My problem is that there seems to be several different ways to do it and I can't figure out which one is "the best".Now, I can't use the "standard" way of doing this because I am working with TinyMCE. I know there are countless examples on how to do this with textareas... that is NOT what I need.TinyMCE can give me a selection RANGE, a selection NODE or a selection OBJECT. Note that if I use TinyMCE's range, it internally "normalizes" the range to be a standard W3C range, regardless of browser.I've created a new range, extracted the selection from the user's range, created elements for the open and close BBCode, inserted the elements into the range and finally set the user's selection to the new range. Works fine.
I also tried taking the selection node (which is an element), then simply used "innerHTML" to add the opening and closing tags, then set the node to the modified node. Works fine.I've also used the editor's built in "selection.getContent()" and "selection.setContent()" calls and THIS also works.I've even tried using the DOM "surroundContents()" function, then used a regex to change the < and > into [ and ]. Freaky... but that works too.So, my dilemma is... which method should I use???To recap, here's what I want (blue represents selected text):
This is a test sentence. (user selected some text) This is a test sentence. (text is wrapped and remains selected). This is a test sentence. (user clicked another bbcode button).
I am trying to get/set only text of list only element text value. But for some reason I can not select it in clear way. List something like:
<ul> <li id="myid"> Here text that I want to modify <ul> <li id="dfdf">i don't want modify this</li> <li id="dfdf">i don't want modify this</li> [Code]...
I have the following code I picked up which tries to fill in a text field with data depending on a user's menu item selection. I place this code in the header:
var groups = new Array(); groups["apple"] = "fruit"; groups["grape"] = "fruit"; groups["milk"] = "diary"; groups["cheese"] = "diary"; groups["chicken"] = "meat"; groups["beef"] = "meat";
function printColorAndGroup(){ var value = document.getElementByName('food').options[document.getElementByName('food').selectedIndex].value; document.getElementByName('food_group').value = groups[text]; document.getElementByName('food_color').value = colors[text]; }
I then use the following html in the body: Code: Food: <select name="food" onchange="printColorAndGroup()"> <option>apple</option> <option>grape</option> <option>milk</option> <option>cheese</option> <option>chicken</option> <option>beef</option> </select>
Group: <input type="text" name="food_group"> Color: <input type="text" name="food_color"> But when I run this nothing happens... Here's the page [URL]. None of the code above is colored... looks like I'm using the wrong tags here. Which tags should I use to post this stuff correctly?
I have 2 example/test pages of the issue I'm experiencing. For now, I'm just trying to get it to work in a standards-compliant browser, so view in something other than ie:
[URL]
If you click and drag the orange bar up or down, it works fine on the first page. However, on the 2nd page, if you click the orange bar and drag down too fast, it starts selecting text and then the bar gets all wacky.
My suspicion is that the bar gets messed up because the text is being selected. That occurs because if you scroll too fast, the cursor goes off the orange slider bar and starts selecting. If you scroll very slowly so that the cursor doesn't go off the bar it seems to scroll fine.
I've tried everything I can think of to stop the text from being selected, but I'm not 100% sure if that's the cause of the problem or just a symptom of something else (maybe bubbling or something?). I tried returning false on every mouse event on the lower panel, tried creating an absolutely-positioned mask above the text in the lower panel, tried removing all text from the lower panel, tried stopPropagation(), etc., but nothing seems to work.
If I set the mousedown/over/move on the lower panel to return false, it prevents selecting text normally by clicking the mouse & dragging, but it will STILL select the text if I click on the slider bar and drag down.
how to properly add some text content before and after a user's selection?I am working with the TinyMCE editor, and I can get the following from it:
* User's selection as a W3C compatible range * User's selection as a browser selection object * User's selection as a node (element) that encompasses the user's selection
I also need the user's selection to remain selected after being wrapped.I've looked all over the web and could find nothing (except running into my OWN previous questions about this).Here's an example of what I'm trying to do:
[URL]
First line is original text, second line a part is selected, third line the selection is wrapped and the selection remains selected.
I have a page on which I have 2 dropdowns. Both are similar. I have a piece of code that whill make a textbox appear if we select "list Box" as the option in the drop down. But for some reason, the first dropdown works fine, but for the second dropdown, the textbox is always there on page load. The code that I am presenting can be copied as a HTML page and you will know what I am referring to.
<html> <script type="text/javascript"> function showfield(name){ if(name=='lstbox')document.getElementById('div1').style.display="block"; else document.getElementById('div1').style.display="none"; } function hidefield() { [Code]...
Basically I'm making an order form that updates the Total Text Box at the bottom of the page depending upon which selection is made from the drop down box in the form,
Is there anything out there that allows for a diagonal and vertical text capture in javascript or jQuery? I was not successful in finding anything. I have a game similar to word find that I've developed, but I need to be able to capture text vertically and diagonally. Otherwise, the only solution will be for me to do a by-click basis to capture items on the screen. I found the script below which handles horizontal capturing:
<script type="text/javascript"> document.body.style.cursor="url(3DArrow.cur), crosshair" ; if (!window.Kolich){ Kolich = {}; } Kolich.Selector = {}; Kolich.Selector.getSelected = function(){ var t = ''; if (window.getSelection){ t = window.getSelection(); }else if(document.getSelection){ t = document.getSelection(); }else if(document.selection){ t = document.selection.createRange().text; }return t; }Kolich.Selector.mouseup = function(){ var st = Kolich.Selector.getSelected(); sel_text=st.replace(/s/gi,""); if(st!=''){ alert("You selected:"+sel_text); }} $(document).ready(function(){ $(document).bind("mouseup", Kolich.Selector.mouseup);}); </script>
I have a Javascript function that allows the display of a textbox upon selecting an option from a dropdown menu. In my case when a user selects listbox as the option, the text box appears. I want the same thing to happen when another option (checkbox) is selected. when I repeat the JAVAscript code, the first textbox(listbox's textbox) appears irrespective of which option(listbox, checkbox) I select. I want to be able to appear/disappear only the respective textbox. Here is my code.
<html> <script type="text/javascript" > function showfield(name){ if(name=='lstbox')document.getElementById('div1').style.display="block"; else document.getElementById('div1').style.display="none"; } function hidefield() { [Code]....
I don't want to show a table with ALL the contact details on. I want to offer a dropdown menu or similar with the countries inside it, and then dependent on the country selected, the relevant contact information would be displayed in a text box alongside. How can I create this and - equally importantly - integrate it into a WordPress page?
When I use the ajax function to grab the remote content of some page, I would like to then apply jQuery selectors to that data. Does anyone know how this can be done? Let's say that I just grabbed the content from an html page. I would then like to be able to use a standard: $("#someID").val() to get the content of that page element.
suppose i have a html page with text, links and what ever else a page contains. On selection of Text on the html page i want to raise some event that will do something. But what that event is known as? By text selection i mean placing mouse pointer to some text and left clicking and moving the mouse either to left or right. Now when user selects some portion of text and releases the mouse's left click button a event should be raised. Obviously that event should know what was the selected text. So is it possible ?
I have a simple form - I want to disable the text field if Choice 2 from the dropdown menu is selected. I have this working with the code below, but for some reason if I go back and select choice 1 after selecting choice 2 the text field remains disabled. I only want it to be disabled if choice 2 is selected.